Neuromantic V1.3.2 available for download.

I made the final update of changing the scroll bar on the main GUI so that it lets you move through Z when only a reconstruction is loaded in, so now the new updated V1.3.2 is ready to download.

Overall, V1.3.2 represents a significant improvement on the ability to edit existing morphology. For the next release I'll also sort out being able to edit the Z value and radius of a point.

Now to get back to finishing this big presentation...

Improving selection ability

Some further updates have just been added based on selecting and editing points.

* Individual segments that overlap in x/y can now be selected much more easily than before in the 2D window - it will now select the closest segment to the cursor, rather than the first one in the list that satisfies a closeness threshold. This should make editing trees significantly simpler.

* Existing segment points can now be dragged about in the 2D window. In Tree Mode, simply hold down the left mouse button and start dragging the point around. In order for the point to start moving the mouse must be dragged over 4 pixels first: this is so that segments are not accidentally dragged when selected.

I also intend to update the bottom scroll bar so that when a stack is not loaded in the scroll bar can be used to drag over the Z range of a loaded reconstruction.

These will be the main updates that will form Neuromantic V1.3.2, along with a few other minor bug fixes.

Labels: ,


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.



Future Direction of Neuromantic

I thought I'd write a quick post about where Neuromantic is actually going at the moment. Most of the updates I've made to the application recently have been useful but fairly basic functionality.

The main reason for this is that, at the moment, I'm in the middle of writing a journal paper comparing reconstructions made in NeuroLucida and Neuron_Morpho with ones done in Neuromantic by ten of the students here at the School of Systems Engineering. So far, Neuromantic is coming out pretty favourably in terms of efficiency, which is a bit of a relief.

The next main functionality to be added is the semi-automatic tracing, which is essentially a 3D extension of the tracing algorithm used in NeuronJ (which is, in turn, a variant on the LiveWire algorithm). This is all already implemented in Neuromantic (although hidden in the current version as it is not quite complete) - but it shows good success at tracing. The main thing that needs to be done to complete this semi-automatic tracing is the estimation of the radius of each segment. It won't take that long to get a workable version that can then be improved upon in later versions, but I need a good week or so free to get it all done and tested properly.

Once it is complete, this will vastly increase the speed of reconstruction.

The other goal I have is related to the expansion of the capabilities of the 3D window: I want to convert Neuromantic into an MDI application i.e. have one big window with smaller windows inside. The reason for this is that all the controls on the right panel of the Main GUI should now really be accessible when using the 3D Window too, and having to switch back to the main window to do something is inelegant. This can be efficently solved by moving all these controls to some main shared panel.


Expansion of functionality in the 3D Window

The 3D Window, accessed by pressing "3D View" on the main GUI, was simply intended to be a way of viewing the reconstruction, rather than interacting with it. However, since V1.3.0, segments can now be selected with the left mouse button and edited in the same way as in the normal 2D slice window (through combinations of CTRL, SHIFT and ALT). Further functionality will be implemented soon, such as the ability to drag points around and edit directly in 3D, as is possible with cvapp.

With this in mind, I thought I would give a quick overview of the controls that allow the selection of desired subtrees.

Holding SHIFT whilst clicking on a segment adds that segment to the current selection. The same applies when holding SHIFT and CTRL.

CTRL is the branch selection option, where holding CTRL and clicking will select all ancestor and descendent segments of the selected one. However, the selection is constrained by any currently selected segments if SHIFT is held too. This means that by selecting the segments around a given subtree the exact desired tree may be efficiently isolated.


The original zoomed in view of the subtree, achieved by middle clicking on one of the segments and zooming in with the mouse wheel.

Hold down SHIFT and click the desired segments on the periphery of the subtree

Hold down SHIFT and CTRL and click on the segment before the bifurcation to select all the tree. Clicking after the bifurcation would select only one branch.

Press CTRL+I to invert the selection

Press Delete, leaving only the subtree

Labels: ,

Neuromantic Blog

We decided that it would be nice to add a blog to the Neuromantic page, charting the development of the project and ideas for the future, as well as updating anyone who happens to pass by of any interesting news.

Also, of course, it gives a nice simple interface for people to give feedback on Neuromantic. Anonymous comments are allowed so that absolutely anyone can leave a message, although this may be reconsidered if too much spam appears.