Iso2mesh is a free, powerful, yet easy-to-use 3D mesh generator for Matlab and Octave. It is particularly suitable for creating high-quality surface and tetrahedral meshes from 3D medical imaging data, such as binary, segmented or gray-scale images. Iso2mesh is cross-platform, quantitative, versatile, and fully optimized for better speed and low-memory requirement.
Iso2mesh toolbox contains over 90 modular Matlab functions, covering 3D volumetric image pre-processing (hole-filling, thinning and thickening), surface mesh modeling (extraction, remeshing, repairing, and smoothing), volumetric mesh creation, plotting and import/export for a range of mesh file formats. For some of the core functions, iso2mesh calls the self-contained meshing utilities built upon CGAL and tetgen to perform Delaunay tetrahedralization, a process known for producing high-quality, self-intersection-free surfaces and volumetric meshes.
Iso2mesh v1.0, codenamed "Mapo Tofu", is the most important release in the 3-and-half-year development history of this toolbox. Iso2mesh has grown from a miniature 10-file package to nearly 100 units supporting GNU Linux, Windows and Mac OSX. In the past two years, it has received over 5000 accumulative downloads, 11200 visitors (unique IP), nearly 700 registered users from all over the world and more than 18 citations in scientific journals, proceedings and book chapters.
This iso2mesh v1.0 release is considered to be stable and is capable of fast, robust and automated data analysis. All core features and examples had been tested on the supported platforms for both Matlab (7+) and Octave (3.2+). For Octave users, it is recommended to enable the "fltk" graphics backend to gain efficient mesh plotting capability.
The final release of v1.0 gains the followings compared to v0.9.9 released about a month ago:
In addition, the 1.0 release has fixed a number of bugs to let plotmesh correctly handle plotting styles and hold-state, to eliminate warnings when running with octave, and to allow mergemesh to handle more than 2 inputs.
The final release of v1.0 has significantly advanced beyond the beta release v0.9.8 released in July 2010. The key new features include:
In addition, we now package the software for each supported platforms, along with the traditional all-in-one package. The Windows package is amazingly as small as 1.9 MB.
The detailed change logs can be found in the ChangeLog and SVN commit history pages.
To install the iso2mesh version 1, you need
To use fillhole3d or run some of the demo scripts, you need to install the image processing toolbox for Matlab or image toolbox for Octave.
Iso2mesh v1.0 marks the maturity of this software, but it is not the end of the development. It represents the beginning of a new development cycle, with specific focuses on improved user experience and highly robust meshing pipelines.
In the next major release, we aim to explore
We have plans to apply for funding support to continue improving this software in the future. Your support, either by timely feedback on your experience with iso2mesh, or letters supporting our future research plan as part of the proposals are highly appreciated. We will approach you in a future time when a proposal is prepared.
We are also looking forward to the collaboration opportunities with you to explore interesting projects where this software can help. Please feel free to email me (fangq at nmr.mgh.harvard.edu) to discuss on these options at any time.
We deeply appreciate the contribution from the CGAL team, who has done a marvelous work to develop state-of-the-art image-based mesh generation utilities. We also want to thank Hang Si for his great work for writing tetgen, which is heavily involved in iso2mesh's meshing work-flow.
For those of you who has used iso2mesh in your work, the author of this toolbox appreciates if you can cite the following paper in your publication, this will help tremendously for the future development of this software:
Qianqian Fang and David Boas, "Tetrahedral mesh generation from volumetric binary and gray-scale images," Proceedings of IEEE International Symposium on Biomedical Imaging 2009, pp. 1142-1145, 2009