Filament tracing operations are image analysis operations in which there is an image of a filamentous structure (it may be a tree-like structure, a filament network or a agglomeration of single 'stick-like' filaments) as input and outputs data that represent the filament, most commonly a skeleton representation of the filaments and their diameters or surfaces.

Tubular structure extraction
biofilament tracing
Curvilinear structure reconstruction
Curvilinear structure detection
neuron image analysis
neuron reconstruction



By combining multiple image alignment and tracing into one program, Reconstruct (TM) allows images to be processed more efficiently. Tracing can be done directly on the transformed images and alignments can be asily modified. Reconstruct (TM) was developed from years of experience working with high magnification serial section images of brain tissue. (Extracted from User Manual)

"The original platform of the Reconstruct program allows a user to trace objects in serial sections by manually drawing the outline of each object on each section, which is time-consuming. We modified Reconstruct to enable semi-automatic tracing of axons using a region-growing algorithm called wildfire."




JFilament is an ImageJ plugin for segmentation and tracking of 2D and 3D filaments in fluorescenece microscopy images. The main algorithm used in Jfilament is "Stretching Open Active Contours" (SOAC). In order to use this method, the user must define seed points in the image where the SOAC method will begin.

JFilament also includes 2D "closed" active contours which can be used for tasks such as segmentation and tracking of cell boundaries.



NET - Network Extraction Tool


The ultimate goal of the NET framework is to make images of networks processable by computers. Therefore we want to have a pixel based image as input, as output we want a representation of the network visible in the image that retains as much information about the original network as possible. NET achives this by first segmenting the image and then vectorizing the network and then extracting information. The information we extract is

  • First and foremost the graph of the network. We find the crossings (nodes) and connections between crossings (edges) and therefore extract information about the neighborhood relations, the topology of the network.
  • We also extract the coordinates of all nodes which enables us to embed them into space. We therefore extract information about the geometry of the network.
  • Last but not least we track the radii of the edges in the extraction process. Therefore every edge has a radius which can be identified with its conductivity.

In the following we will first provide detailed instructions on how to install NET on several platforms. Then we describe the functionality and options of each of the four scripts that make up the NET framework.

has topic
need a thumbnail



ORION: Online Reconstruction and functional Imaging Of Neurons: segmentation and tracing of neurons for reconstruction.

A project to develop tools that explore single neuron function via sophisticated image analysis. ORION software bridges advanced optical imaging and compartmental modeling of neuronal function by rapidly, accurately, and robustly generating, from structural image data, a cylindrical morphology model suitable for simulating neuronal function. The goal of this project is to develop a computational and experimental framework to allow real-time mapping of functional imaging data (e.g., spatio-temporal patterns of dendritic voltages or intracellularions) to neuronal structure, during the very limited duration of an acute experiment.




The invention comprises a software tool, NeuronMetrics, which functions as a set of modules that run in the open-source program ImageJ. NeuronMetrics features a novel method for estimating neural “branch number” (a measure of the axonal complexity) from two-dimensional images. In addition, the tool features a novel method for modeling neural structure in large “gaps” that result from image artifacts.


has topic
need a thumbnail

Neural Circuit Tracer


Neural Circuit Tracer (NCTracer) is open source software for automated and manual tracing of neurites from light microscopy stacks of images. NCTracer has more than one workflow available for neuron tracing. 

"The Neural Circuit Tracer is open source software built using Java (Sun Microsystems) and Matlab (MathWorks, Inc., Natick MA). It is based on the core of ImageJ ( and the graphic user interface has been developed by using Java Swings. The software combines anumber of functionalities of ImageJ with several newly developed functions for automated and manual tracing of neurites. The Neural Circuit Tracer is designed in a way
that will allow the users to add any plug-ins developed for ImageJ. More importantly, functions written in MatLab and converted into Java with Matlab JA toolbox can also be added to the Neural Circuit Tracer." 

Example of output from Neural Circuit Tracer



AnaMorf is a plug-in developed for the ImageJ platform ( to analyse the microscopic morphology of filamentous microbes. The program returns average data on a population of mycelial elements, using the descriptors projected area, circularity, total hyphal length, number of hyphal tips, hyphal growth unit, lacunarity and fractal dimension. The plug-in accepts as input a user-specified directory of images, analysing each and outputing tabulated results.

has function



This plugin tags all pixel/voxels in a skeleton image and then counts all its junctions, triple and quadruple points and branches, and measures their average and maximum length.


he tags are shown in a new window displaying every tag in a different color. You can find it under [Plugins>Skeleton>Analyze Skeleton (2D/3D)]. See Skeletonize3D for an example of how to produce skeleton images.

The voxels are classified into three different categories depending on their 26 neighbors: - End-point voxels: if they have less than 2 neighbors. - Junction voxels: if they have more than 2 neighbors. - Slab voxels: if they have exactly 2 neighbors.

End-point voxels are displayed in blue, slab voxels in orange and junction voxels in purple.

Notice here that, following this notation, the number of junction voxels can be different from the number of actual junctions since some junction voxels can be neighbors of each other.


Output data type: table result, image of the skeleton

Image removed.




hIPNAT (hIPNAT: Image Processing for NeuroAnatomy and Tree-like structures) is a set of tools for the analysis of images of neurons and other tree-like morphologies. It is written for ImageJ, the de facto standard in scientific image processing. It is available through the ImageJ Neuroanatomy update site.

need a thumbnail



"we propose a novel automatic 3D neuron reconstruction algorithm, named Rivulet, which is based on the multi-stencils fast-marching and iterative back-tracking. The proposed Rivulet algorithm is capable of tracing discontinuous areas without being interrupted by densely distributed noises." 

This plugin can be used with default parameters or with user-defined parameters.

Example image obtained from Rivulet Wiki website (