Releases: NeuroJSON/pyiso2mesh
Releases Β· NeuroJSON/pyiso2mesh
pyiso2mesh v0.5.2
pyiso2mesh - One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox
- Copyright: (C) Qianqian Fang (2024-2025) <q.fang at neu.edu>
- License: GNU Public License V3 or later
- Version: 0.5.2
- URL: https://pypi.org/project/iso2mesh/
- Homepage: https://iso2mesh.sf.net
- Github: https://github.com/NeuroJSON/pyiso2mesh
- Acknowledgement: This project is supported by the US National Institute of Health (NIH) grants U24-NS124027 and R01-CA204443
Click here to register and download pyiso2mesh 0.4.2 installer
What's new compared to 0.5.1
- 2025-11-12 [bfc6e69] [brain1020] further improving brain1020 robustness
- 2025-11-11 [5eae75a] [release] improve brain1020 to be more robust, porting fangq/brain2mesh@2e2760e to handle neck/shoulder and multi-loop cuts
- 2025-09-06 [cdcbc2c] [test] add more tests related to polyline
What's new compared to 0.4.2
- 2025-11-12 [bfc6e69] [brain1020] further improving brain1020 robustness
- 2025-11-11 [5eae75a] [release] improve brain1020 to be more robust, porting fangq/brain2mesh@2e2760e to handle neck/shoulder and multi-loop cuts
- 2025-09-06 [cdcbc2c] [test] add more tests related to polyline
- 2025-08-27 [845d0c8] [release] bump version to 0.5.1 to include the new PR #2
- 2025-08-21 [f93a1bd] Merge pull request #2 from Knight680/main
- 2025-08-20 [97fc9d3] fix surf2vol error when face havs 5 columns
- 2025-08-06 [e3d3e4d] [brain2mesh] enable decoupling in pass 2 if pass 1 fails
- 2025-08-04 [371110d] [tag] v0.5.0, update jdata to 0.8, use 1-time init in test - use defaultdict in brain2mesh - add pylintrc - some code clean up based on pylint - fix mergemesh shallow copy
Iso2Mesh function port status
The progress of converting MATLAB-based Iso2Mesh functions to Python is
tracked in #1
| Ported | Unit-tested | Ported | Unit-tested | |
|---|---|---|---|---|
| > All-in-one pipeline shortcuts | > File I/O | |||
β
v2m.m |
β tested | β
saveasc.m |
βοΈ tested | |
β
v2s.m |
β tested | β
savedxf.m |
βοΈ tested | |
β
s2m.m |
β tested | β
savestl.m |
βοΈ tested | |
β
s2v.m |
β tested | β
savebinstl.m |
βοΈ tested | |
β
m2v.m |
β tested | β
saveinr.m |
βοΈ tested | |
β
sms.m |
β tested | β
saveoff.m |
β tested | |
| > Streamlined mesh generation | βοΈ savesmf.m |
βοΈ tested | ||
β
vol2mesh.m |
β tested | β
savesurfpoly.m |
β tested | |
β
vol2surf.m |
β tested | βοΈ savegts.m |
βοΈ tested | |
β
surf2mesh.m |
β tested | βοΈ readgts.m |
βοΈ tested | |
β
surf2vol.m |
β tested | βοΈ savemsh.m |
βοΈ tested | |
β
mesh2vol.m |
β tested | βοΈ savevrml.m |
βοΈ tested | |
| > Iso2mesh main function backend | β
readasc.m |
βοΈ tested | ||
β
binsurface.m |
β tested | βοΈ readinr.m |
βοΈ tested | |
β
cgalv2m.m |
β tested | β
readmedit.m |
βοΈ tested | |
β
cgals2m.m |
β tested | β
readoff.m |
β tested | |
β
vol2restrictedtri.m |
β tested | βοΈ readsmf.m |
βοΈ tested | |
β
surf2volz.m |
β tested | β
readtetgen.m |
β tested | |
β
mesh2mask.m |
β tested | β
deletemeshfile.m |
β tested | |
| > Iso2mesh primitive meshing | β
mcpath.m |
β tested | ||
β
meshabox.m |
β tested | β
mwpath.m |
β tested | |
β
meshasphere.m |
β tested | β
savemedit.m |
β tested | |
β
meshanellip.m |
β tested | β
savejson.m |
βοΈ tested | |
β
meshunitsphere.m |
β tested | β
loadjson.m |
βοΈ tested | |
β
meshacylinder.m |
β tested | β
savejd.m |
βοΈ tested | |
β
meshgrid5.m |
β tested | β
loadjd.m |
βοΈ tested | |
β
meshgrid6.m |
β tested | β
loadmsgpack.m |
βοΈ tested | |
β
latticegrid.m |
β tested | β
savemsgpack.m |
βοΈ tested | |
β
extrudecurve.m |
βοΈ tested | β
savebj.m |
βοΈ tested | |
β
meshcylinders.m |
β tested | β
loadbj.m |
βοΈ tested | |
| > Mesh decomposition and query | βοΈ savemphtxt.m |
βοΈ tested | ||
β
finddisconnsurf.m |
β tested | β
savetetgenele.m |
βοΈ tested | |
β
surfedge.m |
β tested | β
savetetgennode.m |
βοΈ tested | |
β
volface.m |
β tested | βοΈ saveabaqus.m |
βοΈ tested | |
β
extractloops.m |
β tested | βοΈ savenirfast.m |
βοΈ tested | |
β
meshconn.m |
β tested | βοΈ readnirfast.m |
βοΈ tested | |
β
meshcentroid.m |
β tested | β
loadnifti.m |
βοΈ tested | |
β
nodevolume.m |
β tested | βοΈ readmptiff.m |
βοΈ tested | |
β
elemvolume.m |
β tested | β
loadjsnirf.m |
βοΈ tested | |
β
neighborelem.m |
β tested | β
savejsnirf.m |
βοΈ tested | |
β
layersurf.m |
βοΈ tested | β
loadsnirf.m |
βοΈ tested | |
β
faceneighbors.m |
β tested | β
savesnirf.m |
βοΈ tested | |
β
edgeneighbors.m |
β tested | βοΈ readobjmesh.m |
βοΈ tested | |
β
maxsurf.m |
βοΈ tested | βοΈ loadjmesh.m |
βοΈ tested | |
β
flatsegment.m |
βοΈ tested | βοΈ savejmesh.m |
βοΈ tested | |
β
orderloopedge.m |
βοΈ tested | > Volumetric image pre-processing | ||
β
mesheuler.m |
β tested | β
volgrow.m |
β tested | |
β
bbxflatsegment.m |
βοΈ tested | β
volshrink.m |
β tested | |
β
surfplane.m |
βοΈ tested | β
volopen.m |
β tested | |
β
surfinterior.m |
βοΈ tested | β
volclose.m |
β tested | |
β
surfpart.m |
βοΈ tested | β
fillholes3d.m |
β tested | |
β
surfseeds.m |
βοΈ tested | βοΈ bwislands.m |
βοΈ tested | |
β
meshquality.m |
β tested | βοΈ laplacefill.m |
βοΈ tested | |
β
meshedge.m |
β tested | βοΈ deislands2d.m |
βοΈ tested | |
β
meshface.m |
β tested | βοΈ deislands3d.m |
βοΈ tested | |
β
surfacenorm.m |
β tested | βοΈ ndgaussian.m |
βοΈ tested | |
β
nodesurfnorm.m |
β tested | βοΈ ndimfilter.m |
βοΈ tested | |
β
uniqedges.m |
β tested | βοΈ imedge3d.m |
βοΈ tested | |
β
uniqfaces.m |
β tested | βοΈ internalpoint.m |
βοΈ tested | |
β
advancefront.m |
βοΈ tested | βοΈ smoothbinvol.m |
βοΈ tested | |
β
innersurf.m |
βοΈ tested | β
thickenbinvol.m |
β tested | |
β
outersurf.m |
βοΈ tested | β
thinbinvol.m |
β tested | |
β
surfvolume.m |
β tested | βοΈ maskdist.m |
βοΈ tested | |
β
insurface.m |
β tested | > Mesh plotting | ||
| > Mesh processing and reparing | β
plotmesh.m |
β tested | ||
β
meshcheckrepair.m |
β tested | β
plotsurf.m |
β tested | |
β
meshreorient.m |
β tested | β
plottetra.m |
β tested | |
β
removedupelem.m |
β tested | β
plotedges.m |
β tested | |
β
removedupnodes.m |
β tested | β
qmeshcut.m |
β tested | |
β
removeisolatednode.m |
β tested | > Miscellaneous functions | ||
β
removeisolatedsurf.m |
βοΈ tested | βοΈ surfdiffuse.m |
βοΈ tested | |
β
surfaceclean.m |
βοΈ tested | βοΈ volmap2mesh.m |
βοΈ tested | |
β
getintersecttri.m |
βοΈ tested | βοΈ isoctavemesh.m |
βοΈ tested | |
β
delendelem.m |
βοΈ tested | βοΈ getvarfrom.m |
βοΈ tested | |
β
surfreorient.m |
β tested | β
raytrace.m |
β tested | |
| > Mesh registration | β
linextriangle.m |
βοΈ tested | ||
β
proj2mesh.m |
βοΈ tested | β
getplanefrom3pt.m |
βοΈ tested | |
β
dist2surf.m |
βοΈ tested | β
getexeext.m ... |
pyiso2mesh v0.5.1
pyiso2mesh - One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox
- Copyright: (C) Qianqian Fang (2024-2025) <q.fang at neu.edu>
- License: GNU Public License V3 or later
- Version: 0.5.1
- URL: https://pypi.org/project/iso2mesh/
- Homepage: https://iso2mesh.sf.net
- Github: https://github.com/NeuroJSON/pyiso2mesh
- Acknowledgement: This project is supported by the US National Institute of Health (NIH) grants U24-NS124027 and R01-CA204443
Click here to register and download pyiso2mesh 0.4.2 installer
What's new compared to 0.5.0
- 2025-08-27 [845d0c8] [release] bump version to 0.5.1 to include the new PR #2
- 2025-08-21 [f93a1bd] Merge pull request #2 from Knight680/main
- 2025-08-20 [97fc9d3] fix surf2vol error when face havs 5 columns
- 2025-08-06 [e3d3e4d] [brain2mesh] enable decoupling in pass 2 if pass 1 fails
Iso2Mesh function port status
The progress of converting MATLAB-based Iso2Mesh functions to Python is
tracked in #1
| Ported | Unit-tested | Ported | Unit-tested | |
|---|---|---|---|---|
| > All-in-one pipeline shortcuts | > File I/O | |||
β
v2m.m |
β tested | β
saveasc.m |
βοΈ tested | |
β
v2s.m |
β tested | β
savedxf.m |
βοΈ tested | |
β
s2m.m |
β tested | β
savestl.m |
βοΈ tested | |
β
s2v.m |
β tested | β
savebinstl.m |
βοΈ tested | |
β
m2v.m |
β tested | β
saveinr.m |
βοΈ tested | |
β
sms.m |
β tested | β
saveoff.m |
β tested | |
| > Streamlined mesh generation | βοΈ savesmf.m |
βοΈ tested | ||
β
vol2mesh.m |
β tested | β
savesurfpoly.m |
β tested | |
β
vol2surf.m |
β tested | βοΈ savegts.m |
βοΈ tested | |
β
surf2mesh.m |
β tested | βοΈ readgts.m |
βοΈ tested | |
β
surf2vol.m |
β tested | βοΈ savemsh.m |
βοΈ tested | |
β
mesh2vol.m |
β tested | βοΈ savevrml.m |
βοΈ tested | |
| > Iso2mesh main function backend | β
readasc.m |
βοΈ tested | ||
β
binsurface.m |
β tested | βοΈ readinr.m |
βοΈ tested | |
β
cgalv2m.m |
β tested | β
readmedit.m |
βοΈ tested | |
β
cgals2m.m |
β tested | β
readoff.m |
β tested | |
β
vol2restrictedtri.m |
β tested | βοΈ readsmf.m |
βοΈ tested | |
β
surf2volz.m |
β tested | β
readtetgen.m |
β tested | |
β
mesh2mask.m |
β tested | β
deletemeshfile.m |
β tested | |
| > Iso2mesh primitive meshing | β
mcpath.m |
β tested | ||
β
meshabox.m |
β tested | β
mwpath.m |
β tested | |
β
meshasphere.m |
β tested | β
savemedit.m |
β tested | |
β
meshanellip.m |
β tested | β
savejson.m |
βοΈ tested | |
β
meshunitsphere.m |
β tested | β
loadjson.m |
βοΈ tested | |
β
meshacylinder.m |
β tested | β
savejd.m |
βοΈ tested | |
β
meshgrid5.m |
β tested | β
loadjd.m |
βοΈ tested | |
β
meshgrid6.m |
β tested | β
loadmsgpack.m |
βοΈ tested | |
β
latticegrid.m |
β tested | β
savemsgpack.m |
βοΈ tested | |
β
extrudecurve.m |
βοΈ tested | β
savebj.m |
βοΈ tested | |
β
meshcylinders.m |
β tested | β
loadbj.m |
βοΈ tested | |
| > Mesh decomposition and query | βοΈ savemphtxt.m |
βοΈ tested | ||
β
finddisconnsurf.m |
β tested | β
savetetgenele.m |
βοΈ tested | |
β
surfedge.m |
β tested | β
savetetgennode.m |
βοΈ tested | |
β
volface.m |
β tested | βοΈ saveabaqus.m |
βοΈ tested | |
β
extractloops.m |
β tested | βοΈ savenirfast.m |
βοΈ tested | |
β
meshconn.m |
β tested | βοΈ readnirfast.m |
βοΈ tested | |
β
meshcentroid.m |
β tested | β
loadnifti.m |
βοΈ tested | |
β
nodevolume.m |
β tested | βοΈ readmptiff.m |
βοΈ tested | |
β
elemvolume.m |
β tested | β
loadjsnirf.m |
βοΈ tested | |
β
neighborelem.m |
β tested | β
savejsnirf.m |
βοΈ tested | |
β
layersurf.m |
βοΈ tested | β
loadsnirf.m |
βοΈ tested | |
β
faceneighbors.m |
β tested | β
savesnirf.m |
βοΈ tested | |
β
edgeneighbors.m |
β tested | βοΈ readobjmesh.m |
βοΈ tested | |
β
maxsurf.m |
βοΈ tested | βοΈ loadjmesh.m |
βοΈ tested | |
β
flatsegment.m |
βοΈ tested | βοΈ savejmesh.m |
βοΈ tested | |
β
orderloopedge.m |
βοΈ tested | > Volumetric image pre-processing | ||
β
mesheuler.m |
β tested | β
volgrow.m |
β tested | |
β
bbxflatsegment.m |
βοΈ tested | β
volshrink.m |
β tested | |
β
surfplane.m |
βοΈ tested | β
volopen.m |
β tested | |
β
surfinterior.m |
βοΈ tested | β
volclose.m |
β tested | |
β
surfpart.m |
βοΈ tested | β
fillholes3d.m |
β tested | |
β
surfseeds.m |
βοΈ tested | βοΈ bwislands.m |
βοΈ tested | |
β
meshquality.m |
β tested | βοΈ laplacefill.m |
βοΈ tested | |
β
meshedge.m |
β tested | βοΈ deislands2d.m |
βοΈ tested | |
β
meshface.m |
β tested | βοΈ deislands3d.m |
βοΈ tested | |
β
surfacenorm.m |
β tested | βοΈ ndgaussian.m |
βοΈ tested | |
β
nodesurfnorm.m |
β tested | βοΈ ndimfilter.m |
βοΈ tested | |
β
uniqedges.m |
β tested | βοΈ imedge3d.m |
βοΈ tested | |
β
uniqfaces.m |
β tested | βοΈ internalpoint.m |
βοΈ tested | |
β
advancefront.m |
βοΈ tested | βοΈ smoothbinvol.m |
βοΈ tested | |
β
innersurf.m |
βοΈ tested | β
thickenbinvol.m |
β tested | |
β
outersurf.m |
βοΈ tested | β
thinbinvol.m |
β tested | |
β
surfvolume.m |
β tested | βοΈ maskdist.m |
βοΈ tested | |
β
insurface.m |
β tested | > Mesh plotting | ||
| > Mesh processing and reparing | β
plotmesh.m |
β tested | ||
β
meshcheckrepair.m |
β tested | β
plotsurf.m |
β tested | |
β
meshreorient.m |
β tested | β
plottetra.m |
β tested | |
β
removedupelem.m |
β tested | β
plotedges.m |
β tested | |
β
removedupnodes.m |
β tested | β
qmeshcut.m |
β tested | |
β
removeisolatednode.m |
β tested | > Miscellaneous functions | ||
β
removeisolatedsurf.m |
βοΈ tested | βοΈ surfdiffuse.m |
βοΈ tested | |
β
surfaceclean.m |
βοΈ tested | βοΈ volmap2mesh.m |
βοΈ tested | |
β
getintersecttri.m |
βοΈ tested | βοΈ isoctavemesh.m |
βοΈ tested | |
β
delendelem.m |
βοΈ tested | βοΈ getvarfrom.m |
βοΈ tested | |
β
surfreorient.m |
β tested | β
raytrace.m |
β tested | |
| > Mesh registration | β
linextriangle.m |
βοΈ tested | ||
β
proj2mesh.m |
βοΈ tested | β
getplanefrom3pt.m |
βοΈ tested | |
β
dist2surf.m |
βοΈ tested | β
getexeext.m |
β tested | |
β
regpt2surf.m |
βοΈ tested | β
fallbackexeext.m |
β tested | |
β
affinemap.m |
βοΈ tested | βοΈ iso2meshver.m |
βοΈ tested | |
| > Polyline handling | βοΈ raysurf.m |
βοΈ tested | ||
β
slicesurf.m |
βοΈ tested | βοΈ getoptkey.m |
βοΈ tested | |
β
slicesurf3.m |
βοΈ tested | β
rotatevec3d.m |
βοΈ tested | |
β
polylinelen.m |
βοΈ tested | β
rotmat2vec.m |
βοΈ tested | |
β
polylinesimplify.m |
βοΈ tested | β
varargin2struct.m |
βοΈ tested | |
β
polylineinterp.m |
βοΈ tested | β
jsonopt.m |
βοΈ tested | |
β
closestnode.m |
βοΈ tested | βοΈ mergestruct.m |
βοΈ tested | |
| > Mesh resampling and optimization | ... |
pyiso2mesh v0.5.0
pyiso2mesh - One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox
- Copyright: (C) Qianqian Fang (2024-2025) <q.fang at neu.edu>
- License: GNU Public License V3 or later
- Version: 0.5.0
- URL: https://pypi.org/project/iso2mesh/
- Homepage: https://iso2mesh.sf.net
- Github: https://github.com/NeuroJSON/pyiso2mesh
- Acknowledgement: This project is supported by the US National Institute of Health (NIH) grants U24-NS124027 and R01-CA204443
Click here to register and download pyiso2mesh 0.4.2 installer
What's new compared to 0.4.2
- update jdata to 0.8, use 1-time init in test
- use defaultdict in brain2mesh
- add pylintrc
- some code clean up based on pylint
- fix mergemesh shallow copy
Iso2Mesh function port status
The progress of converting MATLAB-based Iso2Mesh functions to Python is
tracked in #1
| Ported | Unit-tested | Ported | Unit-tested | |
|---|---|---|---|---|
| > All-in-one pipeline shortcuts | > File I/O | |||
β
v2m.m |
β tested | β
saveasc.m |
βοΈ tested | |
β
v2s.m |
β tested | β
savedxf.m |
βοΈ tested | |
β
s2m.m |
β tested | β
savestl.m |
βοΈ tested | |
β
s2v.m |
β tested | β
savebinstl.m |
βοΈ tested | |
β
m2v.m |
β tested | β
saveinr.m |
βοΈ tested | |
β
sms.m |
β tested | β
saveoff.m |
β tested | |
| > Streamlined mesh generation | βοΈ savesmf.m |
βοΈ tested | ||
β
vol2mesh.m |
β tested | β
savesurfpoly.m |
β tested | |
β
vol2surf.m |
β tested | βοΈ savegts.m |
βοΈ tested | |
β
surf2mesh.m |
β tested | βοΈ readgts.m |
βοΈ tested | |
β
surf2vol.m |
β tested | βοΈ savemsh.m |
βοΈ tested | |
β
mesh2vol.m |
β tested | βοΈ savevrml.m |
βοΈ tested | |
| > Iso2mesh main function backend | β
readasc.m |
βοΈ tested | ||
β
binsurface.m |
β tested | βοΈ readinr.m |
βοΈ tested | |
β
cgalv2m.m |
β tested | β
readmedit.m |
βοΈ tested | |
β
cgals2m.m |
β tested | β
readoff.m |
β tested | |
β
vol2restrictedtri.m |
β tested | βοΈ readsmf.m |
βοΈ tested | |
β
surf2volz.m |
β tested | β
readtetgen.m |
β tested | |
β
mesh2mask.m |
β tested | β
deletemeshfile.m |
β tested | |
| > Iso2mesh primitive meshing | β
mcpath.m |
β tested | ||
β
meshabox.m |
β tested | β
mwpath.m |
β tested | |
β
meshasphere.m |
β tested | β
savemedit.m |
β tested | |
β
meshanellip.m |
β tested | β
savejson.m |
βοΈ tested | |
β
meshunitsphere.m |
β tested | β
loadjson.m |
βοΈ tested | |
β
meshacylinder.m |
β tested | β
savejd.m |
βοΈ tested | |
β
meshgrid5.m |
β tested | β
loadjd.m |
βοΈ tested | |
β
meshgrid6.m |
β tested | β
loadmsgpack.m |
βοΈ tested | |
β
latticegrid.m |
β tested | β
savemsgpack.m |
βοΈ tested | |
β
extrudecurve.m |
βοΈ tested | β
savebj.m |
βοΈ tested | |
β
meshcylinders.m |
β tested | β
loadbj.m |
βοΈ tested | |
| > Mesh decomposition and query | βοΈ savemphtxt.m |
βοΈ tested | ||
β
finddisconnsurf.m |
β tested | β
savetetgenele.m |
βοΈ tested | |
β
surfedge.m |
β tested | β
savetetgennode.m |
βοΈ tested | |
β
volface.m |
β tested | βοΈ saveabaqus.m |
βοΈ tested | |
β
extractloops.m |
β tested | βοΈ savenirfast.m |
βοΈ tested | |
β
meshconn.m |
β tested | βοΈ readnirfast.m |
βοΈ tested | |
β
meshcentroid.m |
β tested | β
loadnifti.m |
βοΈ tested | |
β
nodevolume.m |
β tested | βοΈ readmptiff.m |
βοΈ tested | |
β
elemvolume.m |
β tested | β
loadjsnirf.m |
βοΈ tested | |
β
neighborelem.m |
β tested | β
savejsnirf.m |
βοΈ tested | |
β
layersurf.m |
βοΈ tested | β
loadsnirf.m |
βοΈ tested | |
β
faceneighbors.m |
β tested | β
savesnirf.m |
βοΈ tested | |
β
edgeneighbors.m |
β tested | βοΈ readobjmesh.m |
βοΈ tested | |
β
maxsurf.m |
βοΈ tested | βοΈ loadjmesh.m |
βοΈ tested | |
β
flatsegment.m |
βοΈ tested | βοΈ savejmesh.m |
βοΈ tested | |
β
orderloopedge.m |
βοΈ tested | > Volumetric image pre-processing | ||
β
mesheuler.m |
β tested | β
volgrow.m |
β tested | |
β
bbxflatsegment.m |
βοΈ tested | β
volshrink.m |
β tested | |
β
surfplane.m |
βοΈ tested | β
volopen.m |
β tested | |
β
surfinterior.m |
βοΈ tested | β
volclose.m |
β tested | |
β
surfpart.m |
βοΈ tested | β
fillholes3d.m |
β tested | |
β
surfseeds.m |
βοΈ tested | βοΈ bwislands.m |
βοΈ tested | |
β
meshquality.m |
β tested | βοΈ laplacefill.m |
βοΈ tested | |
β
meshedge.m |
β tested | βοΈ deislands2d.m |
βοΈ tested | |
β
meshface.m |
β tested | βοΈ deislands3d.m |
βοΈ tested | |
β
surfacenorm.m |
β tested | βοΈ ndgaussian.m |
βοΈ tested | |
β
nodesurfnorm.m |
β tested | βοΈ ndimfilter.m |
βοΈ tested | |
β
uniqedges.m |
β tested | βοΈ imedge3d.m |
βοΈ tested | |
β
uniqfaces.m |
β tested | βοΈ internalpoint.m |
βοΈ tested | |
β
advancefront.m |
βοΈ tested | βοΈ smoothbinvol.m |
βοΈ tested | |
β
innersurf.m |
βοΈ tested | β
thickenbinvol.m |
β tested | |
β
outersurf.m |
βοΈ tested | β
thinbinvol.m |
β tested | |
β
surfvolume.m |
β tested | βοΈ maskdist.m |
βοΈ tested | |
β
insurface.m |
β tested | > Mesh plotting | ||
| > Mesh processing and reparing | β
plotmesh.m |
β tested | ||
β
meshcheckrepair.m |
β tested | β
plotsurf.m |
β tested | |
β
meshreorient.m |
β tested | β
plottetra.m |
β tested | |
β
removedupelem.m |
β tested | β
plotedges.m |
β tested | |
β
removedupnodes.m |
β tested | β
qmeshcut.m |
β tested | |
β
removeisolatednode.m |
β tested | > Miscellaneous functions | ||
β
removeisolatedsurf.m |
βοΈ tested | βοΈ surfdiffuse.m |
βοΈ tested | |
β
surfaceclean.m |
βοΈ tested | βοΈ volmap2mesh.m |
βοΈ tested | |
β
getintersecttri.m |
βοΈ tested | βοΈ isoctavemesh.m |
βοΈ tested | |
β
delendelem.m |
βοΈ tested | βοΈ getvarfrom.m |
βοΈ tested | |
β
surfreorient.m |
β tested | β
raytrace.m |
β tested | |
| > Mesh registration | β
linextriangle.m |
βοΈ tested | ||
β
proj2mesh.m |
βοΈ tested | β
getplanefrom3pt.m |
βοΈ tested | |
β
dist2surf.m |
βοΈ tested | β
getexeext.m |
β tested | |
β
regpt2surf.m |
βοΈ tested | β
fallbackexeext.m |
β tested | |
β
affinemap.m |
βοΈ tested | βοΈ iso2meshver.m |
βοΈ tested | |
| > Polyline handling | βοΈ raysurf.m |
βοΈ tested | ||
β
slicesurf.m |
βοΈ tested | βοΈ getoptkey.m |
βοΈ tested | |
β
slicesurf3.m |
βοΈ tested | β
rotatevec3d.m |
βοΈ tested | |
β
polylinelen.m |
βοΈ tested | β
rotmat2vec.m |
βοΈ tested | |
β
polylinesimplify.m |
βοΈ tested | β
varargin2struct.m |
βοΈ tested | |
β
polylineinterp.m |
βοΈ tested | β
jsonopt.m |
βοΈ tested | |
β
closestnode.m |
βοΈ tested | βοΈ mergestruct.m |
βοΈ tested | |
| > Mesh resampling and optimization | βοΈ orthdisk.m |
βοΈ tested | ||
β
meshresample.m |
β tested | βοΈ nestbracket2dim.m ... |
pyiso2mesh v0.4.2
pyiso2mesh - One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox
- Copyright: (C) Qianqian Fang (2024-2025) <q.fang at neu.edu>
- License: GNU Public License V3 or later
- Version: 0.4.2
- URL: https://pypi.org/project/iso2mesh/
- Homepage: https://iso2mesh.sf.net
- Github: https://github.com/NeuroJSON/pyiso2mesh
- Acknowledgement: This project is supported by the US National Institute of Health (NIH) grants U24-NS124027 and R01-CA204443
Click here to register and download pyiso2mesh 0.4.2 installer
What's new compared to 0.4.0
- 2025-07-28 [cc7727f] [feat] add jsonlab and easyh5 interfaces, bump to 0.4.2
- 2025-07-26 [f1ebb1d] [bug] remove unneeded off file
- 2025-07-26 [af338c1] [plot] port mcxplotvol as plotvolume, fix macos CI
- 2025-07-25 [76b524a] [brain2mesh] accelerate brain2mesh, binsurface avoid meshcheckrepair
- 2025-07-23 [6cb39f6] [volume] set border_value=1 to match matlab volshrink behavior
- 2025-07-23 [f359ee5] [test] add tests for volume processing, brain1020 is working
- 2025-07-22 [dc49d0e] [brain2mesh] initial port of brain2mesh, volume processing functions
What's new compared to 0.3.8
- 2025-07-13 [c259973] [port] add slicesurf3, update port function table
- 2025-07-13 [9b150ac] [test] migrate from round to assertAlmostEqual
- 2025-07-13 [5cf18e4] [test] add tests for m2v, mesh2vol, mesh2mask, mask has bias the bias is due to matplotlib rendering under antialiased=False is sensitive to patch orders, reported at matplotlib/matplotlib#26827
- 2025-07-13 [7650d96] [port] further debug m2v, mesh2vol, mesh2mask, edge/size are wrong
- 2025-07-12 [1ced258] [doc] add toc to README.md
- 2025-07-10 [935dbad] [ci] skip mac cgals2m test
- 2025-07-10 [893aa7d] [ci] fix ci error again
- 2025-07-10 [87a6f39] [ci] fix ci error
- 2025-07-10 [e352af0] [ci] add test cgals2m
- 2025-07-10 [644a909] [ci] fix broken macos test
- 2025-07-09 [00fe9b6] [ci] relax precision to pass win2022 test
- 2025-07-09 [b57cb08] [ci] move to windows-2022 runner as 2019 his retired
- 2025-07-09 [fba72e4] [ci] fix failed tests
- 2025-07-09 [15a567f] [test] add test for mergemesh
Iso2Mesh function port status
The progress of converting MATLAB-based Iso2Mesh functions to Python is
tracked in #1
| Ported | Unit-tested | Ported | Unit-tested | |
|---|---|---|---|---|
| > All-in-one pipeline shortcuts | > File I/O | |||
β
v2m.m |
β tested | β
saveasc.m |
βοΈ tested | |
β
v2s.m |
β tested | β
savedxf.m |
βοΈ tested | |
β
s2m.m |
β tested | β
savestl.m |
βοΈ tested | |
β
s2v.m |
β tested | β
savebinstl.m |
βοΈ tested | |
β
m2v.m |
β tested | β
saveinr.m |
βοΈ tested | |
β
sms.m |
β tested | β
saveoff.m |
β tested | |
| > Streamlined mesh generation | βοΈ savesmf.m |
βοΈ tested | ||
β
vol2mesh.m |
β tested | β
savesurfpoly.m |
β tested | |
β
vol2surf.m |
β tested | βοΈ savegts.m |
βοΈ tested | |
β
surf2mesh.m |
β tested | βοΈ readgts.m |
βοΈ tested | |
β
surf2vol.m |
β tested | βοΈ savemsh.m |
βοΈ tested | |
β
mesh2vol.m |
β tested | βοΈ savevrml.m |
βοΈ tested | |
| > Iso2mesh main function backend | β
readasc.m |
βοΈ tested | ||
β
binsurface.m |
β tested | βοΈ readinr.m |
βοΈ tested | |
β
cgalv2m.m |
β tested | β
readmedit.m |
βοΈ tested | |
β
cgals2m.m |
β tested | β
readoff.m |
β tested | |
β
vol2restrictedtri.m |
β tested | βοΈ readsmf.m |
βοΈ tested | |
β
surf2volz.m |
β tested | β
readtetgen.m |
β tested | |
β
mesh2mask.m |
β tested | β
deletemeshfile.m |
β tested | |
| > Iso2mesh primitive meshing | β
mcpath.m |
β tested | ||
β
meshabox.m |
β tested | β
mwpath.m |
β tested | |
β
meshasphere.m |
β tested | β
savemedit.m |
β tested | |
β
meshanellip.m |
β tested | β
savejson.m |
βοΈ tested | |
β
meshunitsphere.m |
β tested | β
loadjson.m |
βοΈ tested | |
β
meshacylinder.m |
β tested | β
savejd.m |
βοΈ tested | |
β
meshgrid5.m |
β tested | β
loadjd.m |
βοΈ tested | |
β
meshgrid6.m |
β tested | βοΈ loadmsgpack.m |
βοΈ tested | |
β
latticegrid.m |
β tested | βοΈ savemsgpack.m |
βοΈ tested | |
β
extrudecurve.m |
βοΈ tested | β
savebj.m |
βοΈ tested | |
β
meshcylinders.m |
β tested | β
loadbj.m |
βοΈ tested | |
| > Mesh decomposition and query | βοΈ savemphtxt.m |
βοΈ tested | ||
β
finddisconnsurf.m |
β tested | βοΈ savetetgenele.m |
βοΈ tested | |
β
surfedge.m |
β tested | βοΈ savetetgennode.m |
βοΈ tested | |
β
volface.m |
β tested | βοΈ saveabaqus.m |
βοΈ tested | |
β
extractloops.m |
β tested | βοΈ savenirfast.m |
βοΈ tested | |
β
meshconn.m |
β tested | βοΈ readnirfast.m |
βοΈ tested | |
β
meshcentroid.m |
β tested | β
loadnifti.m |
βοΈ tested | |
β
nodevolume.m |
β tested | βοΈ readmptiff.m |
βοΈ tested | |
β
elemvolume.m |
β tested | βοΈ loadjsnirf.m |
βοΈ tested | |
β
neighborelem.m |
β tested | βοΈ savejsnirf.m |
βοΈ tested | |
β
layersurf.m |
βοΈ tested | βοΈ loadsnirf.m |
βοΈ tested | |
β
faceneighbors.m |
β tested | βοΈ savesnirf.m |
βοΈ tested | |
β
edgeneighbors.m |
β tested | βοΈ readobjmesh.m |
βοΈ tested | |
β
maxsurf.m |
βοΈ tested | βοΈ loadjmesh.m |
βοΈ tested | |
β
flatsegment.m |
βοΈ tested | βοΈ readobjmesh.m |
βοΈ tested | |
β
orderloopedge.m |
βοΈ tested | > Volumetric image pre-processing | ||
β
mesheuler.m |
β tested | β
volgrow.m |
β tested | |
β
bbxflatsegment.m |
βοΈ tested | β
volshrink.m |
β tested | |
β
surfplane.m |
βοΈ tested | β
volopen.m |
β tested | |
β
surfinterior.m |
βοΈ tested | β
volclose.m |
β tested | |
β
surfpart.m |
βοΈ tested | β
fillholes3d.m |
β tested | |
β
surfseeds.m |
βοΈ tested | βοΈ bwislands.m |
βοΈ tested | |
β
meshquality.m |
β tested | βοΈ laplacefill.m |
βοΈ tested | |
β
meshedge.m |
β tested | βοΈ deislands2d.m |
βοΈ tested | |
β
meshface.m |
β tested | βοΈ deislands3d.m |
βοΈ tested | |
β
surfacenorm.m |
β tested | βοΈ ndgaussian.m |
βοΈ tested | |
β
nodesurfnorm.m |
β tested | βοΈ ndimfilter.m |
βοΈ tested | |
β
uniqedges.m |
β tested | βοΈ imedge3d.m |
βοΈ tested | |
β
uniqfaces.m |
β tested | βοΈ internalpoint.m |
βοΈ tested | |
β
advancefront.m |
βοΈ tested | βοΈ smoothbinvol.m |
βοΈ tested | |
β
innersurf.m |
βοΈ tested | β
thickenbinvol.m |
β tested | |
β
outersurf.m |
βοΈ tested | β
thinbinvol.m |
β tested | |
β
surfvolume.m |
β tested | βοΈ maskdist.m |
βοΈ tested | |
β
insurface.m |
β tested | > Mesh plotting | ||
| > Mesh processing and reparing | β
plotmesh.m |
β tested | ||
β
meshcheckrepair.m |
β tested | β
plotsurf.m |
β tested | |
β
meshreorient.m |
β tested | β
plottetra.m |
β tested | |
β
removedupelem.m |
β tested | β
plotedges.m |
β tested | |
β
removedupnodes.m |
β tested | β
qmeshcut.m |
β tested | |
β
removeisolatednode.m |
β tested | > Miscellaneous functions | ||
β
removeisolatedsurf.m |
βοΈ tested | βοΈ surfdiffuse.m |
βοΈ tested | |
β
surfaceclean.m |
βοΈ tested | βοΈ volmap2mesh.m |
βοΈ tested | |
β
getintersecttri.m |
βοΈ tested | βοΈ isoctavemesh.m |
βοΈ tested | |
β
delendelem.m |
βοΈ tested | ... |
pyiso2mesh v0.3.8
pyiso2mesh - One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox
- Copyright: (C) Qianqian Fang (2024-2025) <q.fang at neu.edu>
- License: GNU Public License V3 or later
- Version: 0.3.8
- URL: https://pypi.org/project/iso2mesh/
- Homepage: https://iso2mesh.sf.net
- Github: https://github.com/NeuroJSON/pyiso2mesh
- Acknowledgement: This project is supported by the US National Institute of Health (NIH) grants U24-NS124027 and R01-CA204443
Click here to register and download pyiso2mesh 0.3.8 installer
What's new compared to 0.3.7
- 2025-07-10 [935dbad] [ci] skip mac cgals2m test
- 2025-07-10 [e352af0] [ci] add test cgals2m
- 2025-07-09 [00fe9b6] [ci] relax precision to pass win2022 test
- 2025-07-09 [b57cb08] [ci] move to windows-2022 runner as 2019 his retired
- 2025-07-09 [15a567f] [test] add test for mergemesh
- 2025-07-09 [cf2f359] [port] test surf2vol, surf2volz, s2v
- 2025-07-09 [2f6e21a] [port] tested surf2vol and remeshsurf
What's new compared to 0.3.0
- 2025-06-29 [3319628] [feat] add meshrefine test, use keywords in meshrefine, 0.3.7
- 2025-06-29 [78cedea] [feat] meshrefine is partially working
- 2025-06-26 [30a8f7c] [feat] add line.py for polyline, fix missing import, fix circular dependency
- 2025-06-25 [fd06a01] [test] tested and fixed meshacylinders
- 2025-06-25 [757769e] [doc] format function table
- 2025-06-25 [7c2e701] [doc] add figures to tutorial jupyter notebook, bump to 0.3.6
- 2025-06-25 [252130d] [bug] fix qmeshcut slicer expression bug, add tutorial, 0.3.5
- 2025-06-24 [034e261] [doc] update README, accept subplot/parent/hold in plotmesh, 0.3.4
- 2025-06-24 [d21839e] [plot] fix plotting hold on, return fig/ax/obj dict, 0.3.3
- 2025-06-23 [76d8a4c] [bug] fix plot hold on bug
- 2025-06-23 [515fec6] [test] skip Test_plot if matplotlib is older than 3.6
- 2025-06-23 [a073c39] [test] skip Test_plot if matplotlib is older than 3.6
- 2025-06-23 [e5727ce] [test] debug test error on matplotlib 3.5
- 2025-06-23 [e5369e0] [test] add plotmesh tests, add hide option to plotmesh, bump 0.3.2
- 2025-06-22 [a2a5d4e] [ci] fix test error in ci
- 2025-06-22 [9fc478d] [feat] tested direct PLC meshing, fix plotedges error
Iso2Mesh function port status
The progress of converting MATLAB-based Iso2Mesh functions to Python is
tracked in #1
| Ported | Unit-tested | Ported | Unit-tested | |
|---|---|---|---|---|
| > All-in-one pipeline shortcuts | > File I/O | |||
β
v2m.m |
β tested | β
saveasc.m |
βοΈ tested | |
β
v2s.m |
β tested | β
savedxf.m |
βοΈ tested | |
β
s2m.m |
β tested | β
savestl.m |
βοΈ tested | |
β
s2v.m |
β tested | β
savebinstl.m |
βοΈ tested | |
β
m2v.m |
βοΈ tested | β
saveinr.m |
βοΈ tested | |
β
sms.m |
β tested | β
saveoff.m |
β tested | |
| > Streamlined mesh generation | βοΈ savesmf.m |
βοΈ tested | ||
β
vol2mesh.m |
β tested | β
savesurfpoly.m |
β tested | |
β
vol2surf.m |
β tested | βοΈ savegts.m |
βοΈ tested | |
β
surf2mesh.m |
β tested | βοΈ readgts.m |
βοΈ tested | |
β
surf2vol.m |
β tested | βοΈ savemsh.m |
βοΈ tested | |
β
mesh2vol.m |
βοΈ tested | βοΈ savevrml.m |
βοΈ tested | |
| > Iso2mesh main function backend | β
readasc.m |
βοΈ tested | ||
β
binsurface.m |
β tested | βοΈ readinr.m |
βοΈ tested | |
β
cgalv2m.m |
β tested | β
readmedit.m |
βοΈ tested | |
β
cgals2m.m |
β tested | β
readoff.m |
β tested | |
β
vol2restrictedtri.m |
β tested | βοΈ readsmf.m |
βοΈ tested | |
β
surf2volz.m |
β tested | β
readtetgen.m |
β tested | |
β
mesh2mask.m |
βοΈ tested | β
deletemeshfile.m |
β tested | |
| > Iso2mesh primitive meshing | β
mcpath.m |
β tested | ||
β
meshabox.m |
β tested | β
mwpath.m |
β tested | |
β
meshasphere.m |
β tested | β
savemedit.m |
β tested | |
β
meshanellip.m |
β tested | βοΈ savejson.m |
βοΈ tested | |
β
meshunitsphere.m |
β tested | βοΈ loadjson.m |
βοΈ tested | |
β
meshacylinder.m |
β tested | βοΈ saveubjson.m |
βοΈ tested | |
β
meshgrid5.m |
β tested | βοΈ loadubjson.m |
βοΈ tested | |
β
meshgrid6.m |
β tested | βοΈ loadmsgpack.m |
βοΈ tested | |
β
latticegrid.m |
β tested | βοΈ savemsgpack.m |
βοΈ tested | |
β
extrudecurve.m |
βοΈ tested | βοΈ savebj.m |
βοΈ tested | |
β
meshcylinders.m |
β tested | βοΈ loadbj.m |
βοΈ tested | |
| > Mesh decomposition and query | βοΈ savemphtxt.m |
βοΈ tested | ||
β
finddisconnsurf.m |
β tested | βοΈ savetetgenele.m |
βοΈ tested | |
β
surfedge.m |
β tested | βοΈ savetetgennode.m |
βοΈ tested | |
β
volface.m |
β tested | βοΈ saveabaqus.m |
βοΈ tested | |
β
extractloops.m |
β tested | βοΈ savenirfast.m |
βοΈ tested | |
β
meshconn.m |
β tested | βοΈ readnirfast.m |
βοΈ tested | |
β
meshcentroid.m |
β tested | βοΈ readnifti.m |
βοΈ tested | |
β
nodevolume.m |
β tested | βοΈ readmptiff.m |
βοΈ tested | |
β
elemvolume.m |
β tested | βοΈ loadjsnirf.m |
βοΈ tested | |
β
neighborelem.m |
β tested | βοΈ savejsnirf.m |
βοΈ tested | |
β
layersurf.m |
βοΈ tested | βοΈ loadsnirf.m |
βοΈ tested | |
β
faceneighbors.m |
β tested | βοΈ savesnirf.m |
βοΈ tested | |
β
edgeneighbors.m |
β tested | βοΈ readobjmesh.m |
βοΈ tested | |
β
maxsurf.m |
βοΈ tested | βοΈ loadjmesh.m |
βοΈ tested | |
β
flatsegment.m |
βοΈ tested | βοΈ readobjmesh.m |
βοΈ tested | |
β
orderloopedge.m |
βοΈ tested | > Volumetric image pre-processing | ||
β
mesheuler.m |
β tested | βοΈ bwislands.m |
βοΈ tested | |
β
bbxflatsegment.m |
βοΈ tested | βοΈ fillholes3d.m |
βοΈ tested | |
β
surfplane.m |
βοΈ tested | βοΈ deislands2d.m |
βοΈ tested | |
β
surfinterior.m |
βοΈ tested | βοΈ deislands3d.m |
βοΈ tested | |
β
surfpart.m |
βοΈ tested | βοΈ ndgaussian.m |
βοΈ tested | |
β
surfseeds.m |
βοΈ tested | βοΈ ndimfilter.m |
βοΈ tested | |
β
meshquality.m |
β tested | βοΈ imedge3d.m |
βοΈ tested | |
β
meshedge.m |
β tested | βοΈ internalpoint.m |
βοΈ tested | |
β
meshface.m |
β tested | βοΈ smoothbinvol.m |
βοΈ tested | |
β
surfacenorm.m |
β tested | βοΈ thickenbinvol.m |
βοΈ tested | |
β
nodesurfnorm.m |
β tested | βοΈ thinbinvol.m |
βοΈ tested | |
β
uniqedges.m |
β tested | βοΈ maskdist.m |
βοΈ tested | |
β
uniqfaces.m |
β tested | > Mesh plotting | ||
β
advancefront.m |
βοΈ tested | β
plotmesh.m |
β tested | |
β
innersurf.m |
βοΈ tested | β
plotsurf.m |
β tested | |
β
outersurf.m |
βοΈ tested | β
plottetra.m |
β tested | |
β
surfvolume.m |
β tested | β
plotedges.m |
β tested | |
β
insurface.m |
β tested | β
qmeshcut.m |
β tested | |
| > Mesh processing and reparing | > Miscellaneous functions | |||
β
meshcheckrepair.m |
β tested | βοΈ surfdiffuse.m |
βοΈ tested | |
β
meshreorient.m |
β tested | βοΈ volmap2mesh.m |
βοΈ tested | |
β
removedupelem.m |
β tested | βοΈ isoctavemesh.m |
βοΈ tested | |
β
removedupnodes.m |
β tested | βοΈ getvarfrom.m |
βοΈ tested | |
β
removeisolatednode.m |
β tested | β
raytrace.m |
β tested | |
β
removeisolatedsurf.m |
βοΈ tested | βοΈ linextriangle.m |
βοΈ tested | |
β
surfaceclean.m |
βοΈ tested | βοΈ getplanefrom3pt.m |
βοΈ tested | |
β
getintersecttri.m |
βοΈ tested | β
getexeext.m |
β tested | |
β
delendelem.m |
βοΈ tested | β
fallbackexeext.m |
β tested | |
β
surfreorient.m |
β tested | βοΈ iso2meshver.m |
βοΈ tested | |
| > Mesh registration | βοΈ raysurf.m |
βοΈ tested | ||
β
proj2mesh.m |
βοΈ tested | βοΈ getoptkey.m |
βοΈ tested | |
β
dist2surf.m |
βοΈ tested | β
rotatevec3d.m |
βοΈ tested | |
β
regpt2surf.m |
βοΈ tested | β
rotmat2vec.m |
βοΈ tested | |
β
affinemap.m |
βοΈ tested | β
varargin2struct.m |
βοΈ tested | |
| > Polyline handling | β
jsonopt.m |
βοΈ tested | ||
βοΈ slicesurf.m |
βοΈ tested | βοΈ mergestruct.m |
βοΈ tested | |
βοΈ slicesurf3.m |
βοΈ tested | βοΈ orthdisk.m |
βοΈ tested | |
βοΈ polylinelen.m |
βοΈ tested | βοΈ nestbracket2dim.m |
βοΈ tested | |
βοΈ polylinesimplify.m |
βοΈ tested | βοΈ memmapstream.m |
βοΈ tested | |
βοΈ polylineinterp.m |
βοΈ tested | βοΈ aos2soa.m |
βοΈ tested | |
βοΈ closestnode.m |
βοΈ tested | βοΈ soa2aos.m |
βοΈ tested | |
| > Mesh resampling and optimization | ||||
β
meshresample.m |
β tested | |||
β
remeshsurf.m |
β tested | |||
β
smoothsurf.m |
β tested | |||
β
sortmesh.m |
β... |
