| Format | Content | View/Edit Tool |
|---|---|---|
.swc |
Point tracing morphology data | neuTube |
.nrn |
Instructions for NEURON morphology construction | NEURON |
.stl |
Triangular surface mesh | Meshlab |
.off |
Polygonal surface mesh | Meshlab |
.obj |
Polygonal surface mesh | Meshlab |
.ply |
Polygonal surface mesh | Meshlab |
.blend |
Surface model constructed using Blender | Blender |
.geo |
Gmsh geometry file | Gmsh |
.msh |
Tetrahedral volume mesh | Gmsh |
.mesh |
Finite element mesh | Gmsh |
.poly |
TetGen geometry | TetGen |
.smesh |
TetGen geometry | TetGen |
A collection of meshing utilities for neuron morphologies, developed by the Computational Neuroscience Unit at Okinawa Institute of Science and Technology Graduate University, Japan.
- SWCIntersectDetect: Branch intersection detection for SWC/NEURON morphology.
- Main Input:
.swcmorphology file - Main Output:
.swcmorphology file where branch intersections are labeled using user-defined tags
- Main Input:
- SWCTetMesher: Tetrehedral mesh generator from SWC morphology data.
- Main Input:
.swcmorphology file - Main Output:
.meshtetrahedral mesh file of the morphology. (Optional:.offsurface mesh of the morphology)
- Main Input:
- CollisionResolver: Detect and resolve overlaps between watertight surface meshes by voxel ownership, so densely-packed segmented organelles become non-overlapping (gap-separated) and meshable. Also checks/repairs non-manifold inputs.
- Main Input:
.offwatertight surface meshes (possibly overlapping/non-manifold). - Main Output:
.offnon-overlapping, gap-separated watertight surface meshes.
- Main Input:
- SubmeshRelocator: Relocate inner surface meshes that a gap-resolver leaves too close to their container or neighbours (UNMET) into a free pocket — by rigid move, a shape-preserving volume-matched surrogate, or splitting — instead of dropping them.
- Main Input:
.offwatertight surfaces + a gap report (e.g. from CollisionResolver). - Main Output: repositioned
.offsurfaces that clear the gap (or a report of any that cannot be placed).
- Main Input:
- MultiCompMesher: Multi-component mesh generation and labeling from watertight surface boundaries, with local size-field refinement —
sphere(geometric ball/shell, e.g. thin inter-compartment gaps) and a shape-conformingsurfacedirective (refine near an arbitrary marker surface such as a synaptic active zone).- Main Input:
.offwatertight surface boundary meshes.- user-defined text file with component signatures.
- (optional) a size-field file with
patch/component/sphere/surfacerefinement directives.
- Main Output:
.meshTetrahedral mesh file of the morphology with labeled components.
- Main Input:
- STEPSMeshPipeline: End-to-end pipeline turning segmented surfaces into a labelled tetrahedral mesh sized and validated to the STEPS mesh criteria (Hepburn et al. 2012). Resolves overlaps automatically (bundles CollisionResolver), relocates too-close inner bodies (SubmeshRelocator), tetrahedralises (wraps MultiCompMesher), names compartments and membrane patches (Gmsh
$PhysicalNames), and validates (STEPSMeshValidator).- Main Input:
.offsegmented surface boundary meshes (overlaps resolved on the fly).- reaction-diffusion parameters (rate
k, diffusionD, concentration) for STEPS-criteria sizing — or typical neuroscience defaults.
- Main Output: Gmsh
.mshlabelled tetrahedral mesh meeting the STEPS size/shape criteria (compartments/patches addressable by name), plus a quality report (figures + verdict).
- Main Input:
- STEPSMeshValidator: Validate a tetrahedral mesh (or check surface inputs) against the STEPS mesh criteria — size window, element shape (radius-edge, aspect ratio), compartment containment, and operator-splitting ζ — with a pass/fail verdict, histograms, and a recommended element size. Consumed as a submodule by STEPSMeshPipeline and CollisionResolver.
- Main Input: a Gmsh
.mshmesh (or.offsurface inputs), plus reaction-diffusion parameters. - Main Output: a quality report (verdict + figures) flagging any criterion not met.
- Main Input: a Gmsh
- polyhedronROI: Create Region of Interest (ROIs) annotations in STEPS using watertight surface boundaries and labeling signatures.
- Main Input:
.off/.stl/.objwatertight surface boundary meshes.stepe.geom.Tetmeshobject fromSTEPS.
- Main Output: The same
stepe.geom.Tetmeshobject with ROI added.
- Main Input:
- AnaMorph: Framework for creating 3d neuronal morphologies from point/diameter descriptions.
- Main Input:
.swcmorphology file - Main Output:
.objwatertight, manifold surface mesh of the morphology
- Main Input:
- CTNG: A tool for constructing a 3d tesselation of a neuron's surface from
point-diameter data.
- Main Input:
.swcmorphology file - Main Output: text-based file with watertight, manifold surface mesh of the morphology
- Main Input:
- GAMer: surface mesh improvement library developed to condition surface meshes derived from noisy biological imaging data. Also provides tetrahedral mesh generation functionality using TetGen backend.
- Main Input: surface mesh files
- Main Output: repaired and optimized surface meshes
- Gmsh: Tetrahedral mesh generator from CAD geometry or surface boundaries.
- Main Input: surface morphology file
- Main Output:
.mshtetrahedral mesh file, can also export to other formats
- TetGen: Tetrahedral mesh generator from polyhedral surface boundaries.
- Main Input: surface morphology file
- Main Output: text-based tetrahedral mesh file
- fTetWild: Robust floating-point tetrahedral meshing from triangle surfaces / soups, tolerant of imperfect input (self-intersections, gaps) via a user-set envelope, with element-quality optimization. Supersedes the original TetWild; Python bindings via the
wildmeshingpackage.- Main Input: surface mesh file (or triangle soup)
- Main Output: tetrahedral mesh (Gmsh
.msh/ medit.mesh).
- VolRoverN: Pipeline solution for neuron reconstruction from
RECONSTRUCTseries files to surface/volume mesh. Also provides automatic surface mesh repairing and optimization functionality.- Main Input:
RECONSTRUCTseries files, or.offsurface mesh - Main Output: surface/volume meshes of the reconstruction
- Main Input:
- meshio: Python library and command-line tool to read, write, and convert between many mesh formats — Gmsh
.msh, medit.mesh, VTK/VTU,.off/.obj/.stl/.ply, Abaqus.inp, XDMF, and more. (Used by STEPSMeshPipeline for the.mesh→ Gmsh.mshconversion.)- Main Input: a mesh file in any supported format
- Main Output: the same mesh in another supported format (
meshio convert in.ext out.ext)
General-purpose libraries for loading, analysing, repairing, and visualising meshes (rather than morphology-specific tools).
- trimesh: Triangle-mesh library — load/export many formats, watertightness & winding checks and repair (merge vertices, drop degenerate/duplicate faces, fix normals/winding, fill holes), voxelisation, ray/proximity queries, and booleans. (Used by CollisionResolver.)
- PyVista: Pythonic VTK interface for mesh processing, analysis, and 3D visualisation — clipping/slicing, collision detection, decimation, and plotting. (Used by CollisionResolver for collision detection and figures.)
- PyMeshFix: Python wrapper of MeshFix — repair non-manifold / non-watertight surface meshes (remove self-intersections and degeneracies, fill holes) into a clean watertight manifold.
- PyMeshLab: Python bindings to MeshLab — extensive mesh filters including isotropic remeshing, cleaning, hole filling, and repair.