Segmentation and Meshing tools for Image-based Modelling

Credits: Russell Garwood, David Smith, Yongle Sun, Martin Turner (Manchester), Jon Hill (York), Susheel Varma (Sheffield), Gowsihan Poologasundarampillai (Birmingham & DLS), Alberto Gambaruto (Bristol).

Disclaimer: The list and descriptions are unavoidably subjective. Please get in touch if you notice any inaccuracies.

Overview

Visualisation & segmentation Platform Cost Comment
FIJI / ImageJ + 3D Viewer all 0 Highly flexible image processing, with limited 3D rendering and meshing
SuRVoS Linux/Win 0 Machine learning (ML)-based semi-automatic volume segmentation aimed at X-ray tomography
IMOD all 0 3D reconstruction, segmentation and visualisation aimed at Electron Microscopy
Microscopy Image Browser all 0 Matlab-based 2D/3D visualisation and segmentation tools for SEM and tomography
HyperSPy all 0 Python-based visualisation & analysis of multi-dimensional images & spectra (for EM, etc.)
GlueViz all 0 Python-based visualisation & statistics of linked high-dim datasets (astronomy/climate/medical)
ITK-SNAP all 0 User-friendly 3D (semi-)manual segmentation with ML features for medical (MRI/CT/US) data
InVesalius all 0 Basic image reconstruction for MRI and (micro)tomography data
3D Slicer all 0 Advanced VTK-based 3D visualisation and segmentation of medical images
ParaView all 0 VTK-based 3D simulation data visualisation, a free analogue to TecPlot, Origin, Igor Pro, etc.
Blender all 0 Free alternative to 3D Studio / Autodesk Maja with some mesh manipulation
Drishti Win/Mac 0 Advanced visualisation and rendering for presentations & outreach; basic meshing
SPIERS Win/Mac 0 Tomographic visualisation, serial rendering and meshing (not actively updated since 2013)
Seg3D + ImageVis3D all 0 Visualisation and segmentation of medical images
SuperSegger + Omnipose all 0 MATLAB/Python ML-based segmentation & tracking of bacterial cells in 2D microscopy
Dragonfly Win/Linux Edu/$$$ 3D visualisation, CNN-aided segmentation, analysis & meshing [part-limited to ZEISS Pro]
FEI Avizo / Amira all $$ Powerful 3D visualisation, image processing and segmentation
PerkinElmer Columbus all $$? Browser-based integrated data storage and basic image analysis system (aimed at pharma)
OsiriX Mac only $ DICOM data visualisation, FDA-certified for diagnostics


Meshing Software Platform Cost Comment
Gmsh, TetGen, Netgen all 0 Flexible command line tools (gmsh is also with a user-unfriendly GUI)
MeshLab all 0 Triangular & tetrahedral GUI mesh manipulator; can be unstable for big meshes
Salome Linux/Win 0 GUI mesh and CAD manipulator (see also FreeCAD), with some post-processing tools
Autodesk Meshmixer Win/Mac 0 User-friendly GUI mesh manipulator for 3D printing (closed-source)
enGrid + Netgen all 0 Tetrahedral + prismatic meshing GUI optimised for CFD; integrated with OpenFOAM
Netgen/NGSolve all 0 Netgen-based meshing, multi-physics FE solver & visualisation Python/C++ library
iso2mesh all 0 Flexible tetrahedral meshing Toolbox for MATLAB / Octave with COMSOL support
CGAL all 0 Very flexible C++ meshing and computational geometry library
libMesh all 0 C++ meshing library
vmtk all 0 Vascular Modeling Toolkit: Python/C++ library for centreline tracing and surface meshing
CRIMSON Win/Linux 0 Vasculature-oriented segmentation & meshing GUI tool for image-based modelling
COMSOL Multiphysics all $ Built-in physics-based meshing and mesh-optimisation (STL import tips)
ANSYS Meshing Win/Linux $$$? CFD-oriented robust meshing (formerly ANSYS ICEM CFD; see also OptiGrid)
Autodesk Netfab Win only $$$? Advanced CAD geometry and mesh manipulation (see also Solidworks suite)
FEI Avizo / Amira + XWind all $$ Powerful segmentation with limited tetrahedral meshing
Materialise Mimics Win only $$$? Complete workflow with robust meshing but restrictive GUI; optimised for 3D printing
Simpleware ScanIP + FE Win only $$$ Complete workflow with robust meshing for FE solvers, CFD-optimised with COMSOL support

Summary: MeshLab, Gmsh, Simpleware are good GUI tools for simple-to-medium mesh-generation; for high-throughput tasks, use script-based Gmsh, Netgen, TetGen, CGAL, iso2mesh (all are highly flexible), and also ANSYS ICEM.

Tips: test the final mesh quality by plotting the distribution of dihedral angles. See also an overview of meshing tips for COMSOL: Part I, Part II.

Further Tools and Resources: Quantification and Segmentation Tools for Micro-Tomography, Software Catalogue for Medical Imaging (e.g. DICOM); NiftyWeb & Nifty (online MRI/CT segementation; NiftyNet is ML-based); A comparison of CT-segmentation tools; MIRTK and Deformetrica (MRI-oriented multi-modal image registration and transformation). Meshing tools: Mesh Repair Sofware (e.g. see ReMESH), SnappyHexMesh from the OpenFOAM suite.


ImageJ/Fiji & Amira/Avizo Tips

Credits: Kathy Tinoco, Cornelia Vacar (FEI), Philip Pearce (MIT), James Carr, Alexander Erlich, Sebastian Gilbert and David Smith (Manchester)


Manual Skeletonisation as an alternative to Auto Skeleton module:

  1. Compute a distance map from your label field, using Distance Map module. Set the Chamfer Weights to float
  2. Convert the result to 8-bit data via Convert Image Type module
  3. Generate a centerline tree (spatial graph) with Centerline Tree module (this step may take a while)
  4. Centerline Tree module has Tube Parameters (slope and zeroVal) that help to reduce the number of false side branches. E.g., for a thin noisy object, large zeroValue will account for the noise when tracing a branch, and for a thick object with irregular surface, large slope will allow for larger local thickness variations.

Igor Chernyavsky, 2017/08/17 17:47

Segmentation Tips for complex / noisy data:

  1. Weka is a 2D/3D machine-learning Fiji plugin, useful for pre-processing
  2. Filter Sandbox and Marker-based Watershed Mask are semi-automatic segmentation modules in Amira
  3. SuRVoS is a powerful combination of 3D super-voxel segmentation and trainable classifiers (random forest, etc.)
  4. MIB is another tool for 2D super-pixel segmentation and has some machine learning functionality (X-ray ZEISS .txm needs to be exported to .mrc/.tiff stacks first)

Igor Chernyavsky, 2017/09/18 19:00

meshing.txt · Last modified: 2023/05/04 21:36 by Igor Chernyavsky
Recent changes RSS feed
CC Attribution 3.0 Unported
Driven by DokuWiki Valid XHTML 1.0