New version of Simple Neurite Tracer is severely inaccurate?

I haven’t used SNT for a while, but recently installed the update and am experiencing wildly inaccurate auto-tracing. Is there a setting I can adjust or a way to install the previous version? I attached a screenshot illustrating the issue.

I’m also receiving this prompt after opening SNT

43%20AM

Hi @Eric_Zluhan,

A couple ideas:

  1. What is the calibration of your image? (it’s generally not a great idea if it’s unset, especially if the spacing in z is much wider than x- and y-). That could explain what you’re seeing.
  2. Try to change the view paths option to Parts in nearby slices and reduce the number of slices on each side). Does it look any different/better?

John

Pointing this thread out to @tferr

1 Like

@Eric_Zluhan, sorry for somewhat late reply. I’ve been traveling.

That is really unexpected. We worked really hard to improve SNT accuracy. One of the reasons we made SNT fully scriptable was that we could actually measure it its accuracy in unbiased experiments (the manuscript we’ll be submitting soon to BioRxiv will have all the details)

For settings: There are literally hundreds of them. Did you have a chance to look at the updated documentation at https://imagej.net/SNT? the documentation is not complete yet, but we’ve made a really effort in making it as detailed as possible. I’d encourage you to start with the screencasts for a quick overview of the new features.

To install the previous version: Simple unsubscribe to the Neuroanatomy update site. I would encourage you to duplicate your Fiji.app directory and un-subscribe to the Neuroanatomy update site on the duplicate copy so that you can make directory comparisons between the two installations.

All that being said, I do suspect something is indeed off in your case. The warning message you get is triggered when SNT detects that 1) the image is not spatially calibrated or 2) the axial resolution of the image outperforms the lateral resolution in XY. This is usually never the case in most imaging setups, but can happen when the image dimensions have been scrambled somehow (e.g. C and Z dimensions swapped). This kind of checks are important, because SNT now supports multi-dimensional images so it is important to ensure the dimensions being traced are the expected ones.

How did you import that .lsm image? Are you using bio-formats? Are the dimensions listed in Image>Properties… the expected ones?

Also, you will need to provide more details on the auto-tracing: Did you enable Hessian analysis? Are the settings suitable? A complete snapshot would certainly help.

3 Likes

Thank you for the detailed response. I found out mostly what my problem was. On the SNT Startup Prompt I didn’t realize choosing a certain tracing channel affected the tracing even when viewing/tracing another channel. Changing it to channel 2 from 1 fixed my accuracy issue.

However, I still get the Inaccurate Spatial Calibration warning message. It appears that is an issue when tracing 2D images. It pops up if the image is in 2D but not when using a 3D one. I’ll probably switch back to the old version still because there’s a couple other issues that slows my work current work flow for example 1) with the old version I was also able to quickly run SNT on an open image but now it seems you have to browse a directory each time you run SNT. 2) The Path Manager doesn’t list path measurements as you trace. 3) If you hold option after finishing a primary neurite trace, you don’t see a cursor where the next trace will start. Just some minor feedback, probably not issues for most people.

It doesn’t seem to be a 2D/3D issue. Just that your 2D images are likely not spatially calibrated, i.e., they are in pixel coordinates. The warning is intentionally invasive. You should only use physical, real-world coordinates when tracing. Doing otherwise is not only wrong, it will cause an analysis nightmare.

You still can, actually faster than ever in multiple ways: 1) Notice that on the SNT startup prompt IJ’s frontomost image is listed in the image drop-down menu. 2) If you have already SNT open, you can use the File>Choose Tracing Image>From Open Image… command 3) If you are tracing a series of 2D images, have a look at the trick described in this FAQ

This is intentional. The old behavior was making things sluggish for large datasets. You can list the measurements at will in the Path Manager using Tag>Morphology>Length (notice the additional options in the menu)

You mean the shortcut for forking a path? For the reasons explained in the documentation the shortcut changed to Alt+Shift. Note that all the shortcuts can be accessed through the Help menu and by right-clicking on the image, as they are also listed in the contextual menu.

4 Likes

Thanks @tferr. My images are in micrometers not pixels. To be more specific - I get the error message for images without a z-stack, I didn’t necessarily mean 2D vs 3D images. That’s the only consistent behavior I can see so I’m not sure what the issue could be. 45%20PM

@Eric_Zluhan,

Is Voxel depth equal to zero there? If so, that seems suspicious to me. Consider changing it to something non-zero. One, maybe, or perhaps the same value as your x- y- resolution ~0.06918.

John

Yes that appears to resolve that prompt. Thanks

1 Like

Hello John,

I too was getting the ‘unset’ spacial calibration error in 3D images. I took 3D .tif stacks at x and y pixel value = 0.6214809 microns, and z (voxel depth) at 0.5 microns. SNT reads the z pixel value as being the same as x and y values (0.62…). Is this able to be corrected in SNT?

Thank you,
Keith

HI @kcampagno,

First thing to check is to make sure that ImageJ/Fiji correctly read the calibration information.
Can you attach a screenshot showing the image properties / calibration like the one below?

John

45%20PM

Hello John,

Thank you for responding so quickly. Fiji is displaying the size properties correctly.

Thanks,
Keith

@kcampagno,

Hmm, maybe try filling in the units to “microns” where its missing?

John

@kcampagno, to clarify:
All of the loading of the image is handled by ImageJ. SNT does not handle image loading directly. However, at startup, SNT does check if there is something suspicious about the image being loaded. SNT will do two types of checks:

  1. If the the image has a time-dimension but no depth, it will ask if you want to swap Z and T dimensions.
  2. If the image has no spatial units or if voxel depth is smaller than the pixel size, it will ask you to confirm that everything is OK with the image calibration (Isotropic dimensions are validated just fine)

These checks are in place because mis-calibrated images (imported manually from other software) have been the most common source of problems for users (see source code for details, including the github issues that have been opened on this). Note that in both cases, if everything is indeed fine, it suffices to dismiss the confirmation prompts.

We can remove the checks if people feel strongly against them (or make them optional), but I must admit I have never expected images in which the axial resolution is higher than the lateral. Which imaging set-up are you using?

4 Likes

I just noticed that the issue #25 linked in the comment in the source code should actually link to #25 on fiji/SNT, not the one on morphonets/SNT.

Pull request filed:

2 Likes

Thanks @imagejan!
For future reference: I added a small modification so that multichannel images without a Z-dimension validate fine.

Hello tferr and bogovicj,

Thank you for the clarification again.

I did a complete reinstall (twice actually) and it is reading correct voxel depth now. I actually believe it was a bug in the 3D viewer plugin, which was not loading. As a result, the voxel depth defaulted to giving the same values as the x,y ratio.

Thank you for taking the time to enlighten me.

Keith