Simple Neurite Tracer

Revision as of 22:41, 2 June 2017 by Rueden (talk | contribs) (Add component sidebar)

Simple Neurite Tracer
Project Fiji
Source on GitHub
License GPLv3
Release 3.1.3
Date Tue May 16 14:52:55 CDT 2017
Development status Stable
Support status None
Founders Mark Longair
Leads Tiago Ferreira
Developers -
Debuggers -
Reviewers -
Support -
Maintainers Tiago Ferreira, Curtis Rueden
Contributors Mark Longair, Johannes Schindelin, Ignacio Arganda-Carreras, Jan Eglinger, Mark Hiner, Fethallah Benmansour

Fiji's framework for semi-automated tracing of neurons and other tube-like structures.


This plugin is designed to allow easy semi-automatic tracing of neurons or other tube-like structures (e.g., blood vessels) through 3D image stacks. The plugin has built-in tools for analysis and hardware accelerated 3D visualization of the results. Data can be imported and exported in SWC files for interaction with other software, or details of the traces can be exported as CSV files for analysis in spreadsheets or statistical software. The native file format is open and XML-based. This plugin is Free Software (also known as Open Source software).

Simple Neurite Tracer: This image shows traced neurons in an adult Drosophila brain. Neurites were reconstructed using the Simple Neurite Tracer. The neuropil regions were segmented in the Segmentation Editor and added to the viewer with Show Color Surfaces.

Tip: You need a Java 8-enabled installation to run the latest version of Simple Neurite Tracer. If you are not familiar with the plugin, have a look at its Introductory Screencast and Tutorials.


Simple Neurite Tracer is part of Fiji and distributed through the Java 8 update site. If you are not running a Java 8 -enabled installation you should download the latest Fiji release. Newer releases come pre-bundled with Java 8, and are already subscribed to the Java-8 update site. Once installed you should run Help  ▶ Update Fiji to make sure that you have the most recent version. You can find the plugin in Plugins  ▶ Segmentation  ▶ Simple Neurite Tracer (or by bringing up the Command Finder and typing NEURITE TRACER ).


Please report any bugs that you find in the forum or on GitHub. There are other ways of giving feedback (e.g. the mailing lists, IRC, etc.) listed at Help. A public list of the requested features, can be found on Wishlist. Other requests have also been made on GitHub.

Citing Simple Neurite Tracer

To reference Simple Neurite Tracer in a publication:

Longair MH, Baker DA, Armstrong JD. Simple Neurite Tracer: Open Source software for reconstruction, visualization and analysis of neuronal processes. Bioinformatics 2011

To reference other plugins that enhance Simple Neurite Tracer:

Tubular Geodesics: Türetken E, Benmansour F, Fua P. Automated Reconstruction of Tree Structures using Path Classifiers and Mixed Integer Programming. IEEE Conference on Computer Vision and Pattern Recognition, Providence, Rhode Island, 2012.
Sholl Analysis: Ferreira T, Blackman A, Oyrer J, Jayabal A, Chung A, Watt A, Sjöström J, van Meyel D. (2014), Neuronal morphometry directly from bitmap images, Nature Methods 11(10): 982–984


Hopefully you should be able to use this software easily by following the suggested next steps in the top left of the main dialog. However, to use the plugin more effectively, you may want to use some of the following materials:

Introductory Tutorials:

Useful Keyboard Shortcuts

Tutorials on Specific Subjects:

Other Material:

There are also a couple of older screencasts available - these refer to obselete pre-release versions, but most of the functionality demonstrated is still present:

Technical Documentation

The native file format of the plugin is documented at: Simple Neurite Tracer: .traces File Format. (.traces files are just gzipped XML, so easy to parse.) There's also an example script on the Neuroanatomy update site showing how to batch convert each .traces file to multiple SWC files.

Simple Neurite Tracer is also easy to use programmatically. For instance, the example in shows how to use the code to find a path between two arbitrary points in an image stack.

As another small example, if you just wanted to load a set of SWC files using the Simple Neurite Tracer API and display them in the 3D viewer (a functionality provided by the Neuroanatomy update site, through a Java plugin), a Jython script like this will do.


This plugin is free software, licensed under the GNU GPL v3 (with the exception of the pal source files, which are covered by the GNU LGPL) so please do contribute any patches or suggestions that you think would be useful.


This plugin was written by Mark Longair (from initial release to v3.0.3) except for the following important sections, released under the GPL:

  • The code for doing Gaussian convolutions of the image and the calculation of principal curvatures was written by Stephan Preibisch.
  • The code for loading AmiraMesh label files was written by Johannes Schindelin.
  • The code for generating meshes of neurons for the 3D viewer was originally written by Albert Cardona for TrakEM2.
  • This plugin also incorporates code from the LGPL licensed PAL library, although the functionality that relies on this is not currently exposed.

Later versions of the plugin, received additions by Tiago Ferreira (Release notes).


This software was first developed during Mark Longair's PhD, funded by the EPSRC / MRC life sciences interface programme, and in particular the Doctoral Training Centre in Neuroinformatics at the University of Edinburgh. A substantial part of the later development of this plugin was done during the Janelia Farm Hackathon of 2007. Citing Mark: "I owe a debt of thanks to the Howard Hughes Medical Institute for making it possible for me to go to that event. Thank-you also to Arnim Jenett, Adrianna Teriakidis and Benny Lam for their feedback and help with testing various versions of this plugin".


  1. F. Frangi, W. J. Niessen, K. L. Vinc, and M. A. Viergever (1998), "Multiscale Vessel Enhancement Filtering", Medical Image Computing and Computer-Assisted Intervention — MICCAI’98 Lecture Notes in Computer Science 1496: 130, <>