Neuromantic Downloads

The download page now contains both application downloads and the video tutorials for the application.

Video Demo Downloads

These are just a few quick demo videos of things that can be done with Neuromantic. Pretty, but not educational - if you want to learn how to use it try the video tutorials. The data used in this video was provided by the Krasnow Institute by Giorgio Ascoli, and some of the reconstructions shown were created by Kerry Brown and Susan Wright.

Video 1 - Semi-automatic reconstruction (no audio, 41.5Meg)
Video 2 - 3D visualisation and manipulation (no audio, 39.2Meg)
Video 3 - 3D MRA stack visualisation (no audio, 75.8Meg)

Video Tutorial Downloads

The audio tends to go out of sync later on in the videos, but they should still be easy enough to follow. The videos are large, so Right Click->Save Target As. I may add small addendum videos to each lesson as I think of things that I missed.

Tutorial 1 - Stack Loading and Navigation (~75Meg)
Tutorial 2 - Basic Manual Reconstruction and Editing (~170Meg)
Tutorial 3 - Advanced Selection and Editing (~385Meg)
Tutorial 4 - Loading/saving composite stacks (new for V1.6) (~210Meg)

You may need to download the codec from in order to view these videos. CamStudio is a great (and free!) application for making such demo videos.

Application Downloads

Note that Neuromantic has been developed and tested in Windows XP/2000, but is also compatible with 32 bit-version of Vista. It has pretty major problems in 64-bit Vista, though (like every other application in the world). Additionally, all major functionality is apparently retained when using WINE for Linux, although there are some problems with the controls on the OpenGL window.

All the files to download are stored in ZIP format.

If you wish to use Neuromantic then you should first download the V1.0.1 ZIP and unpack it into the desired directory: this archive contains all the subsidiary files (such as DLLs etc.) that Neuromantic requires to run (and which aren't contained in any of the other files to save bandwidth).

Once you have done this, download the most recent Neuromantic ZIP and unpack that into the same directory: they will generally just contain the updated executable and README file.

It is probably best to delete the original V1.0.1 executable to stop you opening it by accident.


Date Added

File Version





Version 1.0.1


Download first!

  • Contains prerequisite DLLs and other support files


1/4/08 Version 1.6.3  
  • Minor update
  • Panels tidied on the right of the 3D window - they can now be shown/hidden via the Panels menu.
  • Ability to change default speed of rotation for animation added (by request of Dr. Jeffrey Henderson, U. Toronto)
31/3/08 Version 1.6.2  
  • General bug fixes, including (with any luck) final squashing of annoying byzantine error that occurs occasionally when dragging/selecting compartments.
  • Added ability to autoselect overlapping points (for NeuroMorpho administration)
  • 2D Drawing speed improved for complex trees
  • Selection of soma nodes simplified
11/03/08 Version 1.6.1 1.90MB
  • Corrected fatal tracing flaw in V1.6 (hopefully!) and added plenty of related exception handling.
  • Significantly improved autotracing performance on dual processor systems.
  • Under-the-hood improvements to move towards supporting colour images
  • Auto-tracing is now more effective on neurites with steep angles relative to image plane.
  • Post-processing Z re-estimation now improved on autotracing through the use of directional auto-focussing. This should result in less jumps to crossing neurites.
05/03/08 Version 1.6.0 1.90MB
  • WARNING: A fatal crash has been reported while using the semi-automatic reconstruction in V1.6. Please check back to download V1.6.1 in a couple of days for a fix.
  • Added ability to create and reconstruct from composite stacks, including the semi-automatic tracing. These composite stacks are loaded/saved via project files.
  • Added high visibility cursors to aid visibility on mid grey backgrounds.
  • Added background grid to show global coordinate system.
  • General bug fixes/improvements
20/02/08 Version 1.5.5 1.89MB
  • Fixed minor bugs associated with statistics calculations from tree
  • Implemented statistical testing properly
  • Speeded up stack rotation and other bitmap operations significantly
  • Fixed bug associated with stack rotation
  • 3D stack visualisation now supports standard colourisations such as JET and HSV
  • Implemented ability to drag multiple selected segments in both 2D and 3D windows
12/12/07 Version 1.5.4 1.87MB
  • Fixed fatal coloring bug introduced in V1.5.2
  • Improved 3D visualisation of volumetric data
  • Tidied up 3D window a little

Version 1.5.3

  • Ability to drag compartments in 3D view (MAJOR)
  • Bug fixes/ improvements to colouring modes in 2D window
28/11/07 Version 1.5.2 1.87MB
  • Some bug fixes related to 3D visualisation and stack rotation
  • Web links in Help menu
22/11/07 Version 1.5.1 1.87MB
  • Fixes non-power-of-2 texture size error in visualisation
21/11/07 Version 1.5.0 1.87MB
  • Many bug fixes
  • Lots of additional functionality for editing/visualisation
  • 3D stack data overlay [BETA]
  • Graphing and statistics calculations [BETA]
26/09/07 Version 1.4.5 1.15MB
  • Bugfix on loading images
  • Improved support for 16 bit greyscale TIFFs
  • Reprogramming of some underlying classes to move towards loading multiple stacks
18/07/07 Version 1.4.3 1.14MB
  • Auto backup function. Now saves every 10 minutes (see README)
  • Support for 16 bit greyscale TIFF images
  • Improved subsampling of 24/32 bit TIFF images
  • Improved multiple node deletion
15/07/07 Version 1.4.2


  • Updated Manual
  • Improved autotrace thresholding
  • Streamlined mode system
  • Improved segment type options
29/06/07 Version 1.4.0 444KB
  • Semi-automatic tracing
20/02/07 Version 1.3.2 436KB
16/02/07 Version 1.3.1 435KB
13/02/07 Version 1.3.0 434KB
08/02/07 Version 1.2.4 428KB
07/02/07 Version 1.2.3 429KB
01/02/07 Version 1.2.2 427KB


Version 1.2.0



Version 1.1.4



Version 1.1.3



Version 1.1.2



Version 1.1.1



Version 1.1.0



Version 1.0.3



Version 1.0.2




  • Possible bug when unloading entire stack from memory then loading a new one (hasn't been seen for since prior to V1.0.1 and may well be completely fixed by other improvements)
    16 bit images not supported
  • Still some flaws in the way that polygons are drawn in 3d mode - need to find a better way of assuring that the cylinders aren't twisted.


V1.0.1 Initial release version

Since V1.0.1

  • Fixed severe bug whereby pressing middle mouse button got application permanently stuck in "scroll through stack" mode.
  • Fixed bug when in EditMode pressing middle mouse button puts app into Left Dragging mode and causes pointer error trying to access COVerlay
  • Fixed flaw where pressing space while dragging can open up 3D view in an undesirable fashion.

Since V1.0.2

  • Added draw mode indicating radius for each node on 2D screen - set off/on with 3/4
  • Added constrained auto-focus as default on middle button during Edit Mode. Full Auto-Focus can be achieved by pressing shift and middle button in this mode.

Since V1.0.3

  • Improved colouring on depth shading display mode so that colours are gradiated.
  • Changed colouring so that selected segments are also highlighted in depth shading mode.
  • Added Undo ability. After adding/deleting/altering a segment type press CTRL+Z or Edit->Undo to discard the change.
  • Add small status panel with information on currently loaded stack
  • Updated odd bug whereby F5 and F6 (shortcuts for showing/hiding stack/tree) didn't work
  • Altered branch selection such that selection recursion always stops when an already selected segment is reached. This removes the problem with infinite recursion on circular branch structures and also allows easier selection of arbitrary sections of tree
  • Altered colouring on Select Mouse Cursor
  • Added XOR colouring to selected branches so that they are more visible
  • Added new drawing mode so that only the segments within a close Z range of the current slice are shown. This makes it much easier to select segments that have branches overlapping on several levels.
  • Sorted out menu options so that they reflect the current state properly.
  • Updated SWC file output so that they could be loaded successfully into NEURON. NEURON loads in SWC files quite badly, and does not allow a given segment's parent index to be greater than the segment. Also, interleaving multiple branches in the file completely fails due to bugs.

Since V1.1.0

  • Added proper image to About box
  • Added warning when tree is invisible in Edit Mode, so that it doesn't look like the program has stopped working.
  • Added Arcball rotation to 3 dimensional neuron view. Neuron may now be rotated by left mouse dragging across the screen
  • Guide sphere added to make it clearer how to drag the neuron around
  • Added option to skeletonise tree in 3D GUI - makes some models with very thin dendrites much more visible.
  • Automatically goes back to showing stack after stack load to avoid confusion
  • Corrected error where lone nodes (no parent/child) could not be selected. Now lone nodes are ALWAYS visible and selectable.
  • Fixed memory issue that caused fatal exception to be thrown on start up on *some* version of Windows (damn you, Windows!).

Since V1.1.1

  • Fixed memory issue with Loading SWC files that could cause a crash on some versions of Windows
  • Added auto-sizing of neuron in 3D view
  • Mouse wheel now zooms in and out in 3D view
  • Added button that resets all rotations in 3D view

Since V1.1.2

  • Tree now automatically becomes visible when loaded in (to avoid confusion)
  • Added plenty of exception handling so that if OpenGL fails then the program will still run successfully (although the 3D GUI will be unavailable).
  • Fixed failure to load files when the extension was in uppercase (oops, schoolboy error there!)
  • 24 bit bitmap images are now loaded in successfully, although 16 bit images are still unsupported (but who uses those now, eh?).
  • Added mode instructions to Scroll/Edit panels (no room on Tree mode).
  • Added funky icon :)

Since V1.1.3

  • Improved the polygon connectivity in the 3D view such that fewer ‘twisted' tubes are observed. There are still significant improvements to be made, though.
  • Tree is now automatically made visible every time tree draw mode is changed with the keys 1-6 to avoid confusion.
  • Fixed bug where loading in stacks without proper amount of leading zeros caused non-fatal crash and incorrect initialisation e.g. "image01.bmp".."image99.bmp"... "image100.bmp". Such stacks can now be loaded in without a problem.
  • Removed minimum threshold for successful auto-focus, as on some fainter dendrites no focussing would occur.

Since V1.1.4

  • Tidied up menus, added overall "Open..." Menu option that will load any supported file. 
  • Also added ability to only load a single file in the middle of a stack.
  • Improved polygon connectivity in 3D mode - more situations are now dealt with correctly - still some problems, though.
  • Option to reverse on default mouse zoom direction in Menu->Options->Controls
  • Tidied up menu items in Options into some submenus
  • Added suppression of key presses during Message Dialogues - for example, additional segments could be deleted while waiting for confirmation as to whether to delete a given segment, leading to pointer errors as the operations resolved in an incorrect order.
  • Corrected problem with routing where nodes were not reallocated when maximum was reached, resulting in access at NULL
  • Sorted problem where auto-traced branches could not be selected properly due to reverse order in the segment list.
  • Corrected bug with being sometimes unable to select root nodes properly and thus making reconnecting nodes annoying
  • Added ability to scale tree to convert to metric coordinates (Tree Processing)
  • Added ability to spline smooth Z coordinates
  • Added Rotate! button to 3D view that rotates the neuron in a pretty fashion.
  • Added selection inversion (Ctrl+I), which makes it easy delete all but a subset of a tree as you can select the subset, invert, then delete.

Since v1.2.0

  • Added ability to invert the tree vertically (required for processing that I am currently doing).
  • Tidied up menu items in tree processing menu in Transformation and Selections
  • Added a flip horizontally option in Tree Processing->Transformation
  • Added the ability to select trifurcations to allow easy identification.
  • Segment type 10 is now ignored when doing auto-fits for the 3D structure.
  • Added Anaglyph rendering (red/green, red/blue, red/cyan stereo) - get out those old school 3D glasses!
  • Added Scroll bar to control strength of 3D effect in Anaglyph mode
  • Now holding down ALT and selecting a segment (in Tree Mode) will select ALL segments of the selected type. This is useful for files where there is additional positional information, usually using type 10.
  • Added minimum radius bar to 3D GUI (below Z-scaling bar) - allows the thickening of the thinnest dendrites so that they may be seen much more clearly.
  • Tidied up controls on 3D Window and moved some into menus.
  • Sorted out proper colouring for axons in 3D view - previously they were the same as basal dendrites
  • File Header of SWC file loaded is now preserved and re-saved out to avoid loss of information. Header lines are added every time a significant operation is performed to help keep track of the file history.

Since v1.2.1

  • 3D neuron will now rotate in Y axis relative to current rotation rather than always resetting when "Rotate!" is pressed.
  • Fixed error reading some SWC files - multiple spacing between values was causing problems in some cases.

Since v1.2.2

  • Added option to render white background rather than black to make better figures for papers.
  • Fixed crash after close due to attempt at accessing an invalid OpenGL context.
  • Added brighter ambient lighting to neuron when using white background to make it look more natural.
  • Added option to save image in 3D window as bitmap file.
  • Fixed bug due to incorrect backing up of tree for Undo. If the tree was deleted and then a new tree started, performing an undo would cause something horrible to go wrong and trying to go into 3D mode would yield floating point errors. Also, the tree then saved out completely incorrectly.

Since v1.2.3

  • Some more fixing of polygon twisting - it seems to be in the most reliable state ever at the moment.
  • Somas are now rendered slightly more nicely - when a non-soma segment has a soma parent, the cylinder is drawn as a constant radius cylinder, ignoring the radius of the parent - this stops large unsightly bits of rendered soma sticking out.
  • Important error fixed that was introduced in 1.2.0 and affects any neurons originally traced with Neuromantic. Two lines are put without a "#" at the beginning of the file, and so loading it in then causes errors and incorrect linkage. However, by manually removing these lines the file will then load in correctly. The lines are now added correctly with hashes.

Since v1.2.4

  • Optimised some 3D stuff a little when fully recalculating the mesh i.e. when dragging the Z width bar.
  • Made 3D window update appropriately when the tree was loaded in/deleted. However, it still does not update every time a change is made for speed.
  • Removed memory leak due to not always correctly allocating DisplayLists in OpenGL. This wasn't much of a problem except when constantly playing around with the Z amplification.
  • Removed display lists for rendering neuron. Although this does decrease performance in a few circumstances, overall performance is boosted significantly, particularly when selecting segments in the 3D view or altering the minimum radius. The performance in Anaglyph mode takes a bit of a hit, though.
  • Made the Guide Sphere a bit lighter when using the white background option - it was a little obtrusive when it was completely black.
  • When a reconstruction is loaded in it is automatically centred and scaled now to avoid having to look for it.
  • MAJOR ADDITION: Added ability to select segments in the 3D view - the same controls for selection are used as in the 2D display i.e. holding down CTRL, SHIFT etc.
  • Added scale bar to 3D window, and title and added options to turn them on and off. The scale bar currently only displays microns, so if your reconstruction is actually in pixels at the moment, IT WILL BE MEANINGLESS. However, it is very useful for metric reconstructions, which are always stored in microns.
  • Bug fixed where loading in an SWC file with trailing lines containing only spaces would throw an error (bug found and fix written by Nathan Skene).
  • Readded some of the colour back into the Anaglyph rendering - colours are lighter than usual to make them show up successfully in both coloured lenses. Ghosting is increased a bit, but not beyond acceptable levels.
  • Reverted to old Soma rendering prior v1.2.3 - there were some issues with it.
  • Allowed 3D window title to be changed, along with macros that will insert either the filename with or without extension. For example "Morphology file: #FNAME" will yield "Morphology file: Somefile.swc", whereas "Morphology File: #NAME" will give "Morphology File: Somefile".
  • Mouse reverse option now affects zoom scrolling in 3D window also.
  • If you are editing the morphology of the tree a lot, click "3D view" in order to properly refresh the calculated 3D mesh of the neuron.

Since v1.3.0

  • Increased levels of zoom available in 2D view (now up to 3000% and down to 3.33% - increased zoom in is particularly useful for editing metric reconstructions that might be too small to edit normally.
  • Removed minor memory leak - a small amount of memory was lost every time a new reconstruction was loaded.
  • Removed non-fatal crash that occurred by loading in a tree, going into the 3D window, and then pressing Undo. This reverted to the other tree, that had not yet had the mesh calculated.
  • Corrected graphical bugs related to altering the Z amplification and then performing an Undo - the back-up tree's mesh was not calculated correctly for the new Z amp.
  • Corrected not always possible to select segments properly in 3D Window due to the use of the old Orthogonal projection matrix for picking rather than new perspective one.
  • Fixed bug whereby centring on a given segment with the middle mouse button did not work properly unless the Z Amplification was 1.

Since v1.3.1

  • BUGFIX: Fixed slight bug where tree segments were not automatically sorted upon loading, which means that branch selection could go wrong and not select all children correctly.
  • FUNCTIONALITY: Improved how segments are selected in 2D view to make it much simpler to select the correct segment - the individual distance to each segment is now judged and the one with the minimum distance selected, rather than just the first in the list with the distance below a given threshold. This is the first step to allowing already defined segment points to be dragged around.
  • FUNCTIONALITY: Segment points may now be dragged in the x,y plane in Tree Mode - simply select a segment, hold down the left mouse button and drag the button to the desired position. The mouse must be moved by a few pixels before dragging will start to avoid accidentally nudging points when selecting.
  • BUGFIX: Stopped crash when 3D Window was open and Tree was loaded in that was probably introduced in v1.3.0 (oopsie)
  • FUNCTIONALITY: When only a reconstruction is loaded in (and no stack), then the scroll bar instead scrolls between the minimum and maximum Z extents of the loaded neuron.
  • BUGFIX: Fixed bug relating to 3D window being open while performing semi-automatic tracing (semi-automatic tracing is still not enabled in the release version as it is not complete, though).

Since v1.3.2

  • BUG FIX: Fixed slight bug with scroll bar with only reconstruction loaded in - it now properly limits the percentage
  • UPDATE: Increased perspective effect on 3D window so it looks more realistic. Also corrected the scale bar for the perspective effect so that it is more accurate (completely accurate for objects at the z=0 plane).
  • FUNCTIONALITY (2D Window): Radius of selected segment can now be altered via middle drag whilst holding CTRL in Tree Mode. So you can drag the point in x,y whilst holding down the LMB, or CTRL + MMB to alter the radius. This does not seem very intuitive, though, so some of the controls may need to be rearranged.
  • BUGFIX - Having a stack and morphology file loaded in and 3D window open, then loading a new reconstruction, no longer causes a non-fatal crash.
  • BUGFIX - Removed non-fatal crash when attempting to semi-automatically trace with no stack loaded.
  • TODO: Add ability to connect/disconnect all children/parent nodes of the currently selected node using shortcuts for fast morphology editing. Also, add ability to duplicate points.
  • TODO: Bugfix - when selecting segments with only reconstruction the app does tries to jump to the correct slice, rather than the correct portion through the tree in.
  • FUNCTIONALITY: Added ability to save traces from Test menu in order to allow testing of a variety of cost functions for routing (not visible in normal releases)
  • BUGFIX: Removed large memory leak in OverlayBitmap due to odd problem with object inheritance.
  • FUNCTIONALITY: Basic radius estimation algorithm added.
  • FUNCTIONALITY: Duplicated most of Tree Edit functionality into AutoTrace mode, so segments can now be selected/edited without having to change.
  • ADDING functionality to the 3D window to allow changes in Z - interpolations. A non-branching and continuous section of dendrite must be selected, and pressing Ctrl+W will interpolate the Z between the first and last segment, allowing the quick removal of unwanted Z jumps.
  • BUGFIX: Removed collision bug associated with root nodes.
  • KNOWN BUG: Floating Point Error thrown by 3D window subsequent to automatic tracing in some unusual circumstances.
  • FUNCTIONALITY: Images may now be viewed as normal or bilinearly interpolated when working close up - the options can be set in View->Image Interpolation
  • BUGFIX: Removed bug whereby starting a new tree tracing would not display in 3D until the minimum radius bar on the 3D GUI was moved (due to min radius not being set correctly when adding first segment).
  • FUNCTIONALITY: Changing segment types via the radio buttons now works in Auto trace mode.
  • FUNCTIONALITY: Added CTRL+D shortcut as a Deselect All segments function
  • FUNCTIONALITY: Improved inter-patch routing such that adding contiguous patches ABC in order ACB will now route correctly. Before the routing would not proceed from patch B onto C.
  • FUNCTIONALITY: Now pressing +/- keys will change magnification in main screen and 3D GUI. (Added for laptops where no scroll is available).
  • FUNCTIONALITY: Updated routing such that, if the mouse is placed on a position that is currently unrouted and left there, the routing will be immediately drawn once it is available, rather than having to move the mouse to trigger an OnMouseMove event.
  • KNOWN FLAW: Bilinear and bicubic interpolation do not work quite properly when left or top image edges are - blanking is not perfect. They're still fine for reconstructing purposes, view.
  • BUGFIX: Radius estimation now works properly on light dendrites.
  • BUGFIX: Now calculates max eigenvalues over entire stack rather than individual patches - calculating them over an individual patch with no dendrite yielded stupidly high neuriteness, preferentially routing over crap areas.
  • BUGFIX (Partial): Fatal application crash fixed with Exception handling, and underlying error is hopefully also fixed (hard to tell, though).
  • FUNCTIONALITY: Significantly improved midline tracking through appropriate application of black magic
  • FUNCTIONALITY: Space Bar may be now used to autofocus when auto-tracing - designed for laptops or mice without middle mouse buttons.

Since v1.4.0

  • IMPROVEMENT: Improved neuriteness thresholding such that less changing of the threshold is required. Still needs to be better, though.
  • Made Test menu a bit prettier, although won't be visible to most users
  • Fixed bug where maximum eigenvalue was not being reset correctly for loaded traces, leading to screw ups
  • Added option to set Z value of selected segments to the currently viewed slice in main window (CTRL+C).
  • Four modes was getting a bit unwieldy - this has been reduced to only 2 modes.
  • KNOWN BUG: Still a non-fatal floating point/sqrt domain error thrown occasionally when adding segments related to calculation of intersections.
  • GUI: Rejigged menu and removed a few redundant (and non-functional) options that I'd forgotten about.
  • GUI: Moved options that used to be on Tree Edit mode panel to Edit menu. Now only two right hand panels remain, and I may do something about those soon, too.
  • BUGFIX? Added exception handling to fatal byzantine deletion bug, and also have hopefully removed the underlying problem (removed possible issue with some kind of access violation). (THIS WAS NOT A SUCCESS)
  • BUGFIX: Fixed issue with new Spot cursor and Test->Delete Overlays
  • BUGFIX: Corrected (ancient) problem whereby setting the zoom level via the drop down box didn't save it properly, resulting in reversion to the last setting as soon as scrolling took place. Well, if any of you buggers gave me bug reports this wouldn't be a problem :P
  • BUG FIX: Fixed floating point error when the maximum eigenvalue over all patches was zero (unlikely, but not impossible, especially if using a huge value for sigma).
  • GUI: Removed overlap in functionality of CTRL+R by getting rid of CTRL+R associated with reversing mouse wheel zoom action.
  • GUI: Added ability to increment/decrement current slice using < and > keys.
  • GUI: Removed Auto-Contrast.
  • BUGFIX: Corrected About Box - changed border edge to Single as it should be
  • GUI: Improved segment type selection/setting on Manual panel. The default segment labelling is now stored in SegmentsDefault.txt, which should always live in the main directory. This may be altered as necessary, but all labelling systems assume a one-based indexing system.
  • BUGFIX: When performing a semi-automatic tracing the resulting branch is added as the currently selected type, rather than always as a basal dendrite.
[Home] [About] [Screen Shots] [Download] [Publications] [Contact Us] [Links]