Skip to content

pyiso2mesh v0.5.0

Choose a tag to compare

@fangq fangq released this 28 Nov 22:22
· 18 commits to main since this release

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 ⭕️ tested
✅ remeshsurf.m ✅ tested ✅ memmapstream.m ⭕️ tested
✅ smoothsurf.m ✅ tested ✅ aos2soa.m ⭕️ tested
✅ sortmesh.m ⭕️ tested ✅ soa2aos.m ⭕️ tested
✅ mergemesh.m ✅ tested > Brain2mesh toolbox
✅ meshrefine.m ✅ tested ✅ brain2mesh.m ⭕️ tested
✅ mergesurf.m ⭕️ tested ✅ brain1020.m ⭕️ tested
✅ surfboolean.m ✅ tested ✅ intriangulation.m ⭕️ tested
✅ fillsurf.m ⭕️ tested ✅ label2tpm.m ⭕️ tested
✅ highordertet.m ✅ tested ✅ tpm2label.m ⭕️ tested
✅ elemfacecenter.m ✅ tested > JSONLab toolbox
✅ barydualmesh.m ✅ tested ✅ jdataencode.m ⭕️ tested
✅ meshinterp.m ⭕️ tested ✅ jdatadecode.m ⭕️ tested
✅ meshremap.m ⭕️ tested ✅ jsonpath.m ⭕️ tested
✅ extrudesurf.m ⭕️ tested ✅ jdlink.m ⭕️ tested