How to output the neurite coordinates from SNT?

Hi everyone,

Recently I need to measure inter-distance between two filaments in 3D, and use SNT to trace the filaments, but it does not give the outcome directly, so I prepare to calculate the inter-distance manually. However, SNT seems not to give the neurite coordinates… Does anybody have some precious suggestions to read out the neurite coordinate?



Besides, is it eligible to trace two parallel filaments? seems not, but not sure.

Welcome to the forum @lchu01,

Could you please provide more details (maybe an illustration would help) on what is that you are trying to achieve? inter-node distance within a path? distance between two parallel paths? As per how to access the nodes of paths directly, have a look at this snippet.

Hi Tiago, thanks so much for your new code, and I can get the 3D coordinates now.
My arm is to measure the inter-sister distance in the mitotic cell, so I use SNT to trace two parallel sisters in 3D and then calculate the inter-sister distance manually. When cropping one sister, the trace goes well and can give a nice centroid after several times “fit paths”, but when trying SNT on the raw picture (two parallel sisters), after several “fit paths”, the centroid trace shift away from the axis. So, should I change some parameters? or…? Thanks!

can you upload an example image with traces, or a snapshot?

Image 14.tif (329.6 KB) Image 14_sister1.tif (329.6 KB) Image 14_sister2.tif (329.7 KB)

I have uploaded one pair of sisters and its each sister. FYI.


No need to crop images. The reason why fitting ‘overflows’ to the sister chromatid is because (i suspect) you are specifying an exaggerated ‘Max. radius’ (Path Manager’s Refine/Fit>Parameters… command). Before performing any sort of fitting operation you should have an idea of the size of the structures being traced. A convenient way to do so is to use the ‘Estimate Radii’ command (gear menu in the Auto-Tracing widget). This will give you something like this:

I.e., at the image resolution the max. expected radius is ~7 pixels which is way below the default 40 pixels.

There should not be a need for repeating fits. I would expect that if you trace using Hessian-based analysis under appropriate settings , a single fit operation would suffice.

As per calculating the distances between the two sister chromatids: If it helps, you could programmatically generate paths between paired nodes. The advantage here is that you would be able to measure and analyze theirs distances directly SNT. There is a template script (Script Editor: Templates>Neuroanatomy>Tracing> (…)) that exemplifies how to generate straight line paths.

Thanks. I have used the Max.radius = 7 pixels, traced one sister as below, and only did fits once. still seem imperfect…

What are your settings for Hessian analysis?

As you suggested, for Hessian-based analysis, I use Estimate Radii (Local Thickness) and its default setting and got the picture as you did. For “Type of refinement”, I use “1) & 2): Assign fitted radii and snap node coordinates”; the Max.radius was chosen with 7 and Multithreading was 8. Besides, I chose XY=2, Z=0 for Enable Scapping within setting.