Simple Neurite Tracer

Plugin for ImageJ

Introduction

This plugin is designed to allow the semi-automatic tracing of neurons or other tube-like structures through 3D image stacks. The idea was to produce an interface somewhat like NeuronJ but which worked with 3D stacks and was free software. If you want to get a quick idea of how it works, please have a look at the screencasts below.

This is alpha quality software, still under active development; please bear this in mind when using it.

Licensing

This plugin is free software, licensened under the GNU GPL (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. Please email me at mark-imagej@longair.net or at my Edinburgh email address at the foot of this page with any feedback. The source code is contained in the Fiji git repository in the "tracer" subdirectory of the "VIB" submodule.

Installation

This plugin is now bundled as part of Fiji and this is the only currently supported way of using the plugin.

You should download and install Fiji, and should find "Simple Neurite Tracer" in the Plugins > Segmentation menu.

Instructions

There is a page with basic instructions for using the plugin.

If you are having problems then these are most likely to be related to ImageJ not claiming enough memory, since this plugin needs to use much more memory than ImageJ would for basic manipulation of the image. If you have out-of-memory errors then you should refer to the "memory" section of the the ImageJ installation guide for your platform to see how to increase this limit.

Screencasts

If you're having problems playing these videos on Mac OS, I think the simplest solution is to install the VLC media player. On Windows if you install ffdshow then you should be able to play them in Windows Media Player or you can use the Windows GUI version of MPlayer

I have a couple of screencasts of this plugin in operation, admittedly from a much earlier version. However, they should give you an idea of the functionality of the plugin.

This first screencast shows the basic operation of the plugin on a fairly indistinct confocal scan. After about a minute I turn on the option to use a Hessian-based cost function for the search, based on code written by Stephan Preibisch at the Janelia Farm Hackathon. You may notice that the searches after that point follows the neurons more closely. However, in some cases that finds erroneous paths or the naive cost function performs better, so in practice one switches back and forth. [Note that this demo was recorded from an earlier version that didn't have support for branching.]

This next video demonstrates more of the functionality that I added at Janelia Farm, in particular the fitting of centre lines and the filling-out of neurons. (The centre-line fitting is removed from this version until I've made some further fixes to this.) I use Benjamin Schmid's 3D viewer in this demo for visualizing the results, and as an example export the mesh and load it into Blender at the end - thanks to Albert Cardona for his advice on all matters Blender.

File Format

The traces files written by this plugin are gzip compressed XML files. The DTD for this format can be found at the top of each file.

Authors

This plugin was written by myself, Mark Longair, except for the following important sections:

Many thanks to all of those authors for releasing their code under the GPL.

Acknowledgments

This software was developed during my 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, and 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.

Known Bugs and Planned Features

Changelog

In version 1.2.3:

In version 1.2.2:

In version 1.1.3:


Mark Longair