How are skeletons created from original mapping? Skeletonization procedure details?

37 views
Skip to first unread message

Luka Blagojevic

unread,
Feb 22, 2022, 10:35:05 AM2/22/22
to neuPrint
Hello everyone, 

Can anyone provide more details about the skeletonization procedure? 
Starting from real neurons or mappings, what is being done to produce segments and why are they of varying length?

References are helpful as well.

Best,
Luka Blagojevic

Chris Liu

unread,
May 6, 2022, 3:32:47 AM5/6/22
to neuPrint
Hi Luka,

I'm very interested and confused about your question. And I want to know if there's any data on synapses belonging to neurite branches.
Hope somebody can answer these questions.

Best,
Cris

Berg, Stuart

unread,
May 11, 2022, 10:31:59 AM5/11/22
to Chris Liu, lukablago...@gmail.com, neuPrint
Hi Luka and Chris,

The skeletons are generated using an implementation of the TEASAR skeletonization algorithm.[1]  The input is the mask for a neuron, extracted from a low-res version of the segmentation.  I'm not an expert in the algorithm, but a nice overview can be seen in the kimimaro docs[2]. (Note we don't use the kimimaro implementation of TEASAR, though it does look nice.)

>what is being done to produce segments and why are they of varying length?

I don't know why the segments are of different lengths.

>I want to know if there's any data on synapses belonging to neurite branches.

We do not associate synapses with neurite branches in the skeleton.  One option is to associate each synapse with its nearest skeleton node.  The neuprintr package has a function to do that for you.[3]  If you prefer Python, then you'll have to do it yourself, via ~10 lines of code.  I've whipped up an example:

(See attached screenshot.)

Best regards,
Stuart




Reply all
Reply to author
Forward
0 new messages