Computational Biophysics for Medicine in 3D Slicer
SlicerCBM is an extension for 3D Slicer that provides tools for creating and solving computational models of biophysical systems and processes with a focus on clinical and biomedical applications. Features include grid generation, assignment of material properties and boundary conditions, and solvers for biomechanical modeling and biomechanics-based non-rigid image registration.
SlicerCBM is under development at the Intelligent Systems for Medicine Lab at The University of Western Australia.
The SlicerCBM extension currently includes the following features implemented as 3D Slicer modules:
-
Segmentation
- DTI Segmentation: Segment diffusion tensor image (DTI) into gray matter (GM), white matter (WM) and cerebrospinal fluid (CSF) tissue classes using fuzzy C-means clustering (FCM) algorithm.
- Fusion: Create skull and scalp segments from brain segment
- Fusion2
-
Geometry
- Cran Creator
- Fiducials To Surface
- MeshNodes To Fiducials
- Sheet From Points
- Skull Generator
- Surface Triangulation (deprecated): Create uniform triangulation of 3D surface model using PyACVD. This module is deprecated. Please use 3D Slicer's built-in Surface Toolbox instead.
-
Mesh/Grid
- MVox Mesh Generator: Create structured hexahedral grid using MVox.
- Tetrahedral Mesh Generator
(deprecated): Create tetrahedral grid using Gmsh.This module is deprecated and will be removed. Please use the ComputationalGridGenerator module instead. Computational Grid Generator (todo): Create tetrahedral grid using Gmsh.- Tumor Resection And BRain Remodelling: Create tetrahedral grid of brain with tumor cavity using Gmsh.
-
Property
- Brain Material Properties
- Electrical Conductivity: Assign electrical conductivity to an image volume.
- Fuzzy Classification
-
BCs/Load
- Brain Mesh Surface Cells Selection
- Brain Surface Neighbouring Cells Selection
- Electrodes To Markups
- Fiducial To Model Distance
- Node Selector
-
Solver
- EEG Solver (todo)
- MTLED Simulator
-
Visualization
- Visualisation
The following modules are no longer actively developed or automatically loaded when installing SlicerCBM, but may be useful for some applications:
- Mesh Nodes To Fiducials (TODO) (see #51)
Tetrahedral Mesh Generator (TODO)
Please note that the SlicerCBM extension for 3D Slicer is currently supported on Linux and macOS operating systems only.
Some of the SlicerCBM modules require the following external dependencies to be installed.
Gmsh should be installed automatically when it is required by one of the SlicerCBM modules.
Due to GCC C++ ABI incompatibility between Gmsh and 3D Slicer,
Gmsh cannot be installed automatically within 3D Slicer using the pip_install
command
(see #41).
To install Gmsh on Linux please see this
workaround.
To install MVox Mesh Voxelizer please refer to its Installation Guide.
To install ExplicitSim please refer to its Installation Guide.
SlicerCBM depends on the following software:
- ExplicitSim (GPL)
- Gmsh (GPL)
- MVox Mesh Voxelizer (BSD-3-Clause license)
- PyACVD (MIT license)
- scikit-fuzzy Fuzzy Logic SciKit (Toolkit for SciPy)
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.