NOTES.md

May 21, 2026 · View on GitHub

SNT

Notes

SNT is both a scripting library and a GUI program. More formally, it is a collection of SciJava commands (add-ons), organized around a common API.

Projects

SNT has incorporated several projects that were previously scattered across the Fiji ecosystem of plugins. Notably:

An overview of SNT's history is also provided in the FAQs.

Publications

SNT is associated with several publications. Please cite the appropriate manuscripts when you use this software in your own research:

The SNT framework is described in:

The Sholl Analysis plugin is described in:

Simple Neurite Tracer is described in:

Algorithms

Key aspects of SNT are implemented from published literature:

Algorithm/OperationReference
A* searchHart, P. E., Nilsson, N. J., & Raphael, B. (1968). A formal basis for the heuristic determination of minimum cost paths. IEEE transactions on Systems Science and Cybernetics, 4(2), 100–107. https://doi.org/10.1109/TSSC.1968.300136
Bi-directional Path Search: Reciprocal cost functionWink, O., Niessen, W. J., & Viergever, M. A. (2000). Minimum cost path determination using a simple heuristic function. In Proceedings 15th International Conference on Pattern Recognition. ICPR-2000 (3, 998–1001). IEEE. https://doi.org/10.1109/ICPR.2000.903713
Bi-directional A* search (alternate)Pijls, W.H.L.M. & Post, H., 2009. Yet another bidirectional algorithm for shortest paths, Econometric Institute Research Papers EI 2009-10,Erasmus University Rotterdam, Erasmus School of Economics (ESE), Econometric Institute.
Dijktra's algorithm: Seeded-volume segmentationDijkstra, E.W. A note on two problems in connexion with graphs. Numer. Math. 1, 269–271 (1959). https://doi.org/10.1007/BF01386390
Gray-Weighted Distance Transform based autotracingXiao H, Peng H. APP2: automatic tracing of 3D neuron morphology based on hierarchical pruning of a gray-weighted image distance-tree. Bioinformatics. 2013;29(11):1448-1454. https://doi.org/10.1093/bioinformatics/btt170
Post-processing of autotraced reconstructionsFeng L, Zhao T, Kim J. neuTube 1.0: A New Design for Efficient Neuron Reconstruction Software Based on the SWC Format. eNeuro. 2015;2(1):ENEURO.0049-14.2014. https://doi.org/10.1523/ENEURO.0049-14.2014
Image Processing: TubenessSato, Y., Nakajima, S., Shiraga, N., et al. (1998). Three-dimensional multi-scale line filter for segmentation and visualization of curvilinear structures in medical images. Medical image analysis, 2(2), 143–168. https://doi.org/10.1016/S1361-8415(98)80009-1
Image Processing: Tubular GeodesicsTüretken, E., Benmansour, F., & Fua, P. (2012). Automated reconstruction of tree structures using path classifiers and mixed integer programming. In 2012 IEEE conference on computer vision and pattern recognition (pp. 566–573). IEEE. https://doi.org/10.1109/CVPR.2012.6247722
Image Processing: Frangi VesselnessFrangi, A. F., Niessen, W. J., Vincken, K. L., et al. (1998). Multiscale vessel enhancement filtering. In International conference on medical image computing and computer-assisted intervention. MICCAI 1998 (pp. 130–137). https://doi.org/10.1007/BFb0056195
Image Processing: SkeletonizationArganda-Carreras I., Fernandez-Gonzalez R., Munoz-Barrutia A., et. al. (2010). 3D reconstruction of histological sections: Application to mammary gland tissue. Microscopy Research and Technique, 73(11), 1019–1029. https://doi.org/10.1002/jemt.20829
Convex hull: VolumeGoldman, R. N. (1991). IV.1 - AREA OF PLANAR POLYGONS AND VOLUME OF POLYHEDRA. In J. Arvo (Ed.), Graphics Gems II (pp. 170–171). Morgan Kaufmann. https://doi.org/10.1016/B978-0-08-050754-5.50043-8
Longest shortest-path (Graph Diameter)Bulterman, R.W., van der Sommen, F.W., Zwaan, G., et al. (2002). On computing a longest path in a tree. Information Processing Letters, 81(2), 93–96. https://doi.org/10.1016/S0020-0190(01)00198-3
Persistent homology: Topological Morphology Descriptor (TMD) algorithmKanari, L., Dłotko, P., Scolamiero, M., et al. (2018). A topological representation of branching neuronal morphologies. Neuroinformatics, 16(1), 3–13. https://doi.org/10.1007/s12021-017-9341-1
Persistent homology: Persistence LanscapesBubenik, P. (2015). Statistical Topological Data Analysis Using Persistence Landscapes. Journal of Machine Learning Research, 16(3), 77–102. https://arxiv.org/abs/1207.6437
Root angle analysisBird, A. D., & Cuntz, H. (2019). Dissecting Sholl Analysis into Its Functional Components. Cell Reports, 27(10), 3081-3096.e5. https://doi:10.1016/j.celrep.2019.04.097
Cuntz, H., Forstner, F., Borst, A., & Häusser, M. (2010). One Rule to Grow Them All: A General Theory of Neuronal Branching and Its Practical Application. PLoS Computational Biology, 6(8), e1000877. https://doi:10.1371/journal.pcbi.1000877
Cx3D simulation engineZubler, F., & Douglas, R. (2009). A framework for modeling the growth and development of neurons and networks. Frontiers in Computational Neuroscience, 3, 25. https://doi.org/10.3389/neuro.10.025.2009
L-measure metricsScorcioni, R., Polavaram, S., & Ascoli, G. A. (2008). L-Measure: a web-accessible tool for the analysis, comparison and search of digital reconstructions of neuronal morphologies. Nature Protocols, 3(5), 866. https://doi.org/10.1038/nprot.2008.51
Sholl-based metricsFerreira, T., Blackman, A., Oyrer, J. et al. (2014). Neuronal morphometry directly from bitmap images. Nature Methods, 11, 982–984. https://doi.org/10.1038/nmeth.3125
Luis Miguel Garcia-Segura and Julio Perez-Marquez (2014). A new mathematical function to evaluate neuronal morphology using the Sholl analysis. Journal of Neuroscience Methods, 226, 103-109. https://doi.org/10.1016/j.jneumeth.2014.01.016
Milosević, N.T. & Ristanović, D. (2007). The Sholl analysis of neuronal cell images: semi-log or log-log method? Journal of Theoretical Biology 245, 130–140. https://doi.org/10.1016/j.jtbi.2006.09.022
Ristanović, D., Milosević, N.T. & Stulić, V. (2006). Application of modified Sholl analysis to neuronal dendritic arborization of the cat spinal cord. Journal of Neuroscience Methods 158, 2120–218. https://doi.org/10.1016/j.jneumeth.2006.05.030
Distinct colors (SNT's palette of discriminatory colors)K. Kelly (1965): Twenty-two colors of maximum contrast. Color Eng., 3(6), 1965. (PDF)
Paul Green-Armytage, "A Colour Alphabet and the Limits of Colour Coding". Colour: Design & Creativity (5) (2010): 10, 1-23 (PDF)
Semantic SegmentationArganda-Carreras, I., Kaynig, V., Rueden, C., Eliceiri, K. W., Schindelin, J., Cardona, A., & Sebastian Seung, H. (2017). Trainable Weka Segmentation: a machine learning tool for microscopy pixel classification. Bioinformatics, 33(15), 2424–2426. https://doi.org/10.1093/bioinformatics/btx180
Arzt, M., Deschamps, J., Schmied, C., Pietzsch, T., Schmidt, D., Tomancak, P., … Jug, F. (2022). LABKIT: Labeling and Segmentation Toolkit for Big Image Data. Frontiers in Computer Science, 4. https://doi.org/10.3389/fcomp.2022.777728
Multispectral Path RefinementAzzouz, S., Walker, L. A., et al. Optimized Neuron Tracing Using Post Hoc Reanalysis. https://www.biorxiv.org/content/10.1101/2022.10.10.511642
Leiwe, M. N., Fujimoto, S., Baba, T., et al. Automated neuronal reconstruction with super-multicolour Tetbow labelling and threshold-based clustering of colour hues. Nat Commun 15, 5279 (2024). https://pubmed.ncbi.nlm.nih.gov/38918382/

MultiSpectralRefiner re-implements the core nCorrect algorithm (3-term cost function over intensity, cosine-similarity, and radius; shared-neighbor iterative refinement) with several differences (1)

(1)

  • Anisotropic voxel handling: Sampling spheres are ellipsoidal, scaled by per-axis voxel spacing
  • Sliding-window reference color: Per-node local reference from ±N neighboring nodes to handle spectral drift along long neurites
  • Continuously adaptive intensity tolerance: percentC is computed from the actual node-center intensity rather than the path-average reference sum, making tolerance adapt per-node
  • Parameter auto-tuning: Max radius, color-match stringency, and intensity thresholds are automatically estimated from path/image statistics (mean radius, cosine-similarity variance, intensity percentiles)
  • Degenerate-channel detection: Channels with near-zero reference intensity are excluded from cosine similarity to avoid division-by-noise artifacts.
  • Convergence criterion: Iteration stops on relative improvement < threshold (default 0.1%) or zero improvement
  • Path-level quality gate: Paths shorter than 2× the max cross-section radius are skipped, as short fragments produce unreliable reference color vectors. This follows Leiwe et al. validation that color-vector-based neurite identification requires minimum fragment lengths (~5 μm) and brightness thresholds for reliable spectral signatures

Databases

Any work that uses data from the supported databases and/or reference brains should acknowledge the data source directly:

DatabaseReference
FlyCircuitChiang A, Lin C, Chuang C, et al. Three-Dimensional Reconstruction of Brain-wide Wiring Networks in Drosophila at Single-Cell Resolution. Current Biology 21, 1–11 (2011). https://doi.org/10.1016/j.cub.2010.11.056
FlyLightJenett A, Rubin GM, Ngo TB et al. A GAL4-Driver Line Resource for Drosophila Neurobiology. Cell Reports, 2, 991–1001 (2012). https://doi.org/10.1016/j.celrep.2012.09.011
InsectBrainDatabaseHeinze S, Jundi B, Berg B, et al. InsectBrainDatabase – A Unified Platform to Manage, Share, and Archive Morphological and Functional Data (2020). https://doi.org/10.1101/2020.11.30.397489
mapzebrain (zebrafish atlas)Kunst M, Laurell E, Mokayes N, et al. A Cellular-Resolution Atlas of the Larval Zebrafish Brain. Neuron, 103(1), 21–38.e5 (2019). https://doi.org/10.1016/j.neuron.2019.04.034
MouseLightWinnubst J, Bas E, Ferreira TA, et al. Reconstruction of 1,000 Projection Neurons Reveals New Cell Types and Organization of Long-Range Connectivity in the Mouse Brain. Cell, 179(1), 268–281.e13 (2019). https://dx.doi.org/10.1016/j.cell.2019.07.042
NeuroMorphoAscoli GA, Donohue DE, Halavi M. NeuroMorpho.Org: A Central Resource for Neuronal Morphologies. Journal of Neuroscience (35) 9247–9251 (2007). https://dx.doi.org/10.1523/JNEUROSCI.2055-07.2007
Virtual Fly brainMilyaev N, Osumi-Sutherlandet D, Reeve S, et al. The Virtual Fly Brain Browser and Query Interface. Bioinformatics, 28(3), 411–415 (2012). https://dx.doi.org/10.1093/bioinformatics/btr677

Demo Datasets

Demo datasets (images and/or reconstructions) are either bundled in SNT (and thus part of the source code), or downloaded from the internet:

DatasetSource
DG Granule CellBundled. NeuroMorpho.org cell (Beining archive)
Drosophila ddaC neuron (2D binary image)Bundled. Sample image for Sholl Analysis/Auto tracing
Drosophila OP neuron (3D grayscale image and 'gold standard' reconstruction)Bundled/Downloaded. DIADEM dataset
Hippocampal neuron (2D multichannel image)Downloaded. Part of ImageJ's samples archive
Hippocampal neuron (2D timelapse image with partial reconstruction)Downloaded. Cell Image Library dataset
L-systems fractal (2D binary image with reconstruction)Bundled. Generated programmatically
Mouse pyramidal neurons (reconstructions)Bundled. MouseLight dataset

Dependencies

SNT relies heavily on several SciJava, sciview (and scenery), and Fiji libraries. It also relies on other packages developed under the morphonets umbrella and other external open-source packages. Below is a non-exhaustive list of external libraries on top of which SNT is built:

LibrariesScope/Usage
3D ViewerLegacy 3D Viewer
AnalyzeSkeleton, Skeletonize3DHandling of skeletonized images
Apache CommonsMisc. utilities
Apache XML GraphicsSVG/PDF export
fastutilHigh performance, low footprint data structures
ImageJ1ImagePlus and ROI handling
imglib2Image representation and processing
imagej-plot-service, jfreechartHistograms and plots including Reconstruction Plotter
ImageJ OpsImage processing and convex hull
JGraphTGraph theory -based analyses
JGraphXGraph Viewer
JHeapsPathfinding algorithms and data structures
JIDE common layer, font awesome, FlatLafGUI customizations
JSON-Java, okhttpAccess/query of online databases
Jzy3D, jGL, JOGLReconstruction Viewer
pyimagejPython bindings
SMILEMath and algorithm utilities
LabKit, Trainable Weka SegmentationSemantic segmentation