31/03/2008

Neuromantic V1.6.2 now available!

OK, I have uploaded Neuromantic V1.6.2 to the site - I've made sure the ZIP file works this time, also ;)

V1.6.2 mainly adds some bug fixes and minor features over V1.6.1, and I'm quietly confident that I've finally squashed the horribly annoying byzantine error that I've been trying to track down for several releases.

I've altered the selectable bounding boxes on compartments so that they're now the entire width of the compartment, rather than always 10 pixels either side. Lone nodes (with parent nor child) also display their radius now in the form of a circle around the midpoint, and it should be easier to select/drag around the root soma point of a tree that's surrounded by child compartments.

Another handy addition is the ability to press Ctrl+W and cycle through all the currently selected segments. This could be useful when correcting trifurcations or similar.

In terms of semi-automatic reconstruction, a median radius filter operation has been added that helps compensate for radius estimation errors. The radius of each compartment is simply calculated as the median of the estimated radii of a 3 compartment neighbourhood along the neurite.

It's also now possible to Autoselect overlapping points i.e. points that have exactly the same coordinates as another point in the tree. It was primarily added for Duncan Donohue, who's currently administrating the NeuroMorpho archive, and shouldn't be needed in the standard course of a reconstruction. In the case of overlapping identical subtrees, it will currently just select one of the subtrees arbitrarily (depending on ordering in the list). I believe that it should select entire overlapping subtrees due to the way the tree sorting algorithms work, but it's conceivable that in some circumstances it will select some from both - let me know if this happens.

Labels: , , ,

03/03/2008

Composite stack support

Neuromantic V1.6.0 will be released tomorrow - the main update here will be the support of composite stacks made of multiple image stacks. These composite stacks may be saved and loaded via project files (*.nproj).

For the first release, there will be several limitations:

* All stacks will be loaded at once and remain so, so no memory saving is made. This constraint will be quickly relaxed in future releases so that you can free/reload stacks as desired.

* Rotated composite stacks (if you've rotated in X/Y or Z) cannot be saved with a project file. This can be circumvented initially by saving the composite stack prior to rotation, and making sure that the stacks are rotated back to the original position before saving the reconstruction. This constraint will also be relaxed in future, although it will take longer as it relies on me finishing the improved stack viewing algorithms.

Labels: , , , , , ,

12/12/2007

Oopsie!

OK, I've found a fatal bug in Neuromantic - these don't come up very often, and it's only been in existence for the last couple of releases.

When working with a reconstruction that is planar (i.e. all segments have the same Z coordinate), changing the mode to "Colour By Depth" will, up to V1.5.3 (since whenever I added it, which is only V1.5.1 or later), cause a div by zero error in the 2D rendering algorithms and completely crash out the application. Yes, I hang my head in shame for not forseeing a potential div by zero error - you'll find me in the naughty corner.

I shall be posting a newer release that fixes this tomorrow, as I really can't allow such bugs in the program. As well as this important bugfix, it will also have significantly improved sectioning of volumetric data.

I've also been further working towards supporting multiple stacks simultaneously, and have now gotten the semi-auto tracing functioning with this. Therefore, in future releases (not until after Christmas, though) you'll be able to load and register multiple image stacks, then semi-automatically trace a branch between the stacks due to the cunning hierarchical patchwork strategy.

Labels: , ,

04/12/2007

Information on the next update

Right, I've now successfully implemented the ability to drag segments around in the 3D view - this should come in very handy for correcting Z errors and editing segment positions based on overlaid image data.

The other main thing I've been doing is trying to get 3D textures to work in OpenGL and find out whether they'd be a better choice for the rendering. So far, I'm really not too impressed - it just doesn't look as good as the normal textured version, and there's also much stricter limits on size (max side of 512 pixels, rather than 4096 for normal textures). Also, OpenGL demands only power of 2 sizes in both X,Y and Z for the 3D texture, leading to yet more memory wastage.

I'm still working on it, though, but at the moment I'm thinking of staying with the current set up (albeit with a bit of neatening up and added cunningness)

Labels: , , ,

30/11/2007

Neuromantic V1.5.2

Right, Neuromantic V1.5.2 is out, but only really fixes a couple of minor bugs related to 3D visualisation and stack rotation. The slice bar at the bottom right of the 3D window will allow you to define which section of the stack you see (in a simple way for the moment). If you can, I thoroughly recommend loading some MRA data or similar and trying that with some 3D glasses - it's pretty amazing.

The other minor thing it adds is a list of web links in the About menu, which mean that users can directly get to the Neuromantic user group and main page without having to remember the URLs.

The next version (out soon), will actually add some proper functionality - I'm currently finishing off the ability to drag the reconstruction segments around in the 3D window. This will have two major advantages:

1) You'll be able to more easily correct Z errors in this view from semi-automatic tracing.
2) When working with overlaid 3D data, you can drag the compartments in this view to achieve higher accuracy than may be possible with the 2D view.

At some point in the future it would be nice to be able to trace in this mode also (like Imaris FilamentTracer), but that's probably going to take quite a while. To some extent it probably depends on how bored I get over Christmas ;)

Labels: , ,

06/07/2007

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: , ,

16/02/2007

Neuromantic V1.3.1

OK, a slight update on V1.3.0 is now available. This version primarily fixes a bug to do with not always being able to select segments in the 3D window, as well as a few graphical issues related to altering the Z amplification. A minor memory leak has also been removed from file loading.

Finally, the minimum and maximum levels of magnification available in the 2D view have been expanded to 3.33% and 3000%. The previous max of 1600% was a little low when editing metric reconstructions.

Labels: