Update on Multiple Stacks with Neuromantic

At CNS 2007, several people requested functionality for Neuromantic such that multiple image stacks could be loaded in simultaneously, some as a prerequisite before it could be useful to them.

Now, mainly because I find it hard to resist a challenge, I have been working on this very problem. It is not complete yet, but in my current test version it is now possible to load and display several stacks (although the semi-automatic tracing has not yet been updated to work with this). Also, it is not yet possible to register the stacks yet, but that's just a straightforward case of adding functionality to the GUI to alter the various stack parameters.

As well as each stack having its own global offsets in the space, each individual stack bitmap will be able to be perturbed in x,y a little to account for any jitter that may be present, in a similar way to the Reconstruct application.

Finally, I'll need to sort out some appropriate memory management so that the application will load/free bitmaps as required dependent on the memory available.

Labels: , , ,


Back From Canada...

Yes, I am now officially back from Canada and the lovely CNS 2007 conference.

The workshop on neuronal reconstruction with Neuromantic went well, and I had more attendees than I initially expected. Although plenty of people there employed reconstruction methods (mainly the manual mode of NeuroLucida, from the discussions I had), the emphasis of the conference was very strongly on modelling rather than reconstruction.

Thanks to everyone I talked to, and I'll post a picture of the happy smiling faces from the workshop when I get chance :)

I'm trying to put together a mailing list at the moment of people who are interested in updates to Neuromantic, so please leave a comment to this post if you wish to be added (or email me). The mailing list will be mainly just to inform people of new releases of Neuromantic, thus saving the effort of having to keep checking the page. The blog comments are always moderated, so I won't display them and leave your email addresses open to being trawled by the innumerable bots on the net.

After discussion, the main functionality that people wanted to see in Neuromantic would be the ability to load in multiple stacks simultaneously and register them, thus allowing them to be loaded in separately throughout reconstruction in order to avoid the requirement for silly amounts of RAM. I shall get onto this asap, as it sounds like a useful ability to add (albeit quite a bit of work!)

Labels: , ,


Interface updates

While trying to tidy up the automatic tracing, primarily by making it simpler and more intuitive to select the correct threshold/Gaussian smoothing, I've also done a bit of an overhaul of the mode system as it had been bugging me for some time.

Originally it made more sense to me to have clearly defined modes, as I didn't see how I could add all the required functionality in an intuitive way without this mechanism. However, after putting most of the functionality of Tree Edit mode into the AutoTrace mode for V1.4.0, it seemed to work quite well.

The first mode (stack manipulation) has become completely redundant as all its functionality was duplicated in every other mode, so it was just an unnecessary distraction. It is now bitten the dust.

The second main change is the merging of the Manual mode and Tree Edit mode - now you can select/edit the position/radius of segments as you add them, without having to change modes.

This leaves two main modes - manual and automatic, which just lets you switch between how you want to add segments to the reconstruction.

A reminder of functionality:
* Edit segment X/Y position - click and drag with left mouse button
* Edit segment radius - hold down CTRL, then click and drag with middle mouse button (I may simplify this in future)
* Edit segment Z position - select segment with left click, move visible slice to correct position and select (Edit->Set Z To Current Slice), or CTRL+C.

To suppress the editing functionality (selecting segments when you left click on them), hold down CTRL+ALT (this is the case for both Manual and Auto modes). This is necessary if you need to add a line that starts where another segment is.

This will all be released shortly as Neuromantic V1.4.1.

NOTE: I've become aware of a bug that can take down the entire application - it's an uncommon error relating to deleting multiple segments. I therefore suggest saving before doing this until I release 1.4.1., where I've surrounded the whole area with exception handling and, hopefully, squashed the underlying bug too.

Labels: , ,


Neuromantic Goes to CNS 2007

I'm off to the International Computational Neuroscience Meeting 2007 this weekend, where I will be giving a short one day workshop on using Neuromantic to reconstruct neurons - the workshop description may be found here.

Title: Reconstructing neuronal morphology from serial image stacks

Organizer: Dr. Darren Myatt, Cybernetics, School of Systems Engineering, University of Reading, UK

To further understand the role that neuronal morphology plays in brain function, it is important to be able to generate appropriate models of dendritic morphology from a variety of microscopy techniques. Although several good free databases have come into existence over the last few years (mainly exploiting the SWC format), there is still a general paucity of reconstructed neurons available for statistical analysis and comparison.

This half-day workshop, which is open to all CNS attendees, will provide practical experience of reconstructing dendritic trees from image stacks using the freeware tool Neuromantic, and thus may be useful to anyone interested in creating or analysing reconstructions of neuronal morphology. If you wish to take part, please bring your own laptop that can run or adequately emulate Windows.

In an ideal world, I would have been able to run the workshop in a computer lab, thus removing the requirement for bringing your own laptop, but due to CNS taking place in a convention centre this was not possible. My current plan is to give an introductory presentation about reconstructing neurons in general, and then provide an example stack which people can reconstruct in order to get the hang of the application, as well as gaining further understanding into the problems and ambiguities faced when performing such reconstructions.

Of course, it'll also be a great time to get direct feedback about the application from the Computational Neuroscience community and suggestions for improvement.

Labels: , ,