iso2mesh
Fast, Versatile & Cross-Platform 3D Mesh Generation Toolbox
An image-based 3D surface and volumetric mesh generator
📋 What is iso2mesh?
Iso2mesh is a MATLAB/Octave/Python-based mesh generation toolbox with 200+ functions for creating high-quality surface and tetrahedral meshes from 3D volumetric images. It converts MRI/CT scans into quality meshes for medical imaging and multi-physics modeling.
🏆 NeuroJSON Project
Part of NeuroJSON (neurojson.org), funded by US NIH grants U24-NS124027 and R01-CA204443.
⚡ Core Capabilities
- Image-to-Mesh Conversion: Direct conversion from 3D volumetric images (MRI, CT) to high-quality tetrahedral meshes
- Multi-Region Support: Handle complex multi-labeled volumes with tissue-specific mesh density control
- Surface Extraction: Fast isosurface extraction using CGAL, with mesh simplification and repair
- Primitive Meshing: Built-in meshers for spheres, boxes, cylinders, ellipsoids, and complex geometries
- Boolean Operations: Union, intersection, difference operations on surface meshes using Cork library
- Mesh Processing: Smoothing, refinement, simplification, quality analysis, and repair tools
- Cross-Platform: Works identically on Windows, Linux, and macOS with MATLAB R2008+ or GNU Octave 3.8+
🔧 Core Functions
Volume-to-Mesh
- v2m - vol2mesh
- v2s - vol2surf
- cgalv2m - CGAL 3D mesher
- binsurface - fast isosurface
Surface-to-Mesh
- s2m - surf2mesh
- s2v - surf2vol
- cgals2m - CGAL surface mesh
- remeshsurf - remeshing
Primitive Meshers
- meshabox - box mesh
- meshasphere - sphere mesh
- meshacylinder - cylinder mesh
- meshanellip - ellipsoid mesh
Mesh Processing
- sms - smoothsurf
- meshcheckrepair - repair
- surfboolean - Boolean ops
- meshrefine - refinement
🔄 Typical Workflows
1️⃣ Medical Image Processing
Input: MRI/CT scan (NIfTI, DICOM)
Process: Load → Segment → v2s (surface) → sms (smooth) → s2m (tetrahedral)
Output: Multi-tissue tetrahedral mesh for FEM analysis
2️⃣ Geometric Modeling
Input: CAD models, primitive shapes
Process: meshasphere/box/cylinder → surfboolean (combine) → meshrefine
Output: Complex geometries for physics simulation
3️⃣ Brain Mesh Generation
Input: T1/T2 MRI brain scans
Process: brain2mesh (auto-segmentation) → multi-layer mesh
Output: 5-layer brain mesh (scalp, skull, CSF, GM, WM)
4️⃣ Mesh Analysis Pipeline
Input: Existing mesh (STL, OBJ, OFF)
Process: readoff → meshcheckrepair → meshquality → exportFEA
Output: Clean mesh for COMSOL/ABAQUS
🏆 Why Choose iso2mesh?
✅ Free & Open Source
GPL v2+ license with full source code access. No expensive commercial licenses like Mimics ($15K+) or Simpleware ($30K+)
⚡ High Performance
Optimized CGAL and TetGen backends. Process 256³ volumes in seconds. Parallel processing support for large datasets
🔧 Highly Modular
200+ independent functions that can be combined in endless ways. Easy to integrate into existing MATLAB/Octave workflows
🌐 Cross-Platform
Windows, Linux, macOS. MATLAB R2008+ and GNU Octave 3.8+. Now available in Python (pyiso2mesh)
📚 Well-Documented
Comprehensive documentation with 50+ examples. Active community support. Published in IEEE ISBI 2009 with 1000+ citations
🎯 Medical Imaging Focused
Native support for NIfTI, DICOM, multi-region segmentation. Powers brain2mesh for automated brain mesh generation
🛠️ External Tools & Backends
Iso2mesh integrates with powerful open-source meshing libraries:
🔷 TetGen (v1.5)
Fast 3D tetrahedral mesh generator. GPL/AGPL license. Used for surf2mesh operations
⚙️ CGAL (v5.3)
Computational Geometry Algorithms Library. GPL/LGPL. Powers cgalsurf, cgalmesh, cgalsimp2
🔧 Cork
Robust Boolean operations on triangle meshes. LGPL license. Used by surfboolean
🛠️ JMeshLib / MeshFix
Mesh repair utilities. GPL v2. Fixes non-manifold vertices and self-intersections
📐 GTS / PoissonRecon
Additional surface reconstruction tools. LGPL/MIT. Optional backends for specialized tasks
Note: Pre-compiled binaries for Windows, Linux (32/64-bit), and macOS are included. Source code available for custom compilation.
![[Home]](upload/neurojson_banner_plain.png)