Skip to content

Releases: NeuroJSON/pyiso2mesh

pyiso2mesh v0.5.2

28 Nov 22:29

Choose a tag to compare

pyiso2mesh - One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox


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 ...
Read more

pyiso2mesh v0.5.1

28 Nov 22:25

Choose a tag to compare

pyiso2mesh - One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox


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 ...
Read more

pyiso2mesh v0.5.0

28 Nov 22:22

Choose a tag to compare

pyiso2mesh - One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox


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 ...
Read more

pyiso2mesh v0.4.2

31 Jul 06:04

Choose a tag to compare

pyiso2mesh - One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox


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 ...
Read more

pyiso2mesh v0.3.8

12 Jul 02:20

Choose a tag to compare

pyiso2mesh - One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox


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 β­•...
Read more