Ironhorse1618 / Python3.7-Imaris-XTensions

XTensions built using Python 3.7 for Imaris software
http://imaris.com
7 stars 2 forks source link

XT_MJG_Filament_Analysis 24_beta troubleshooting #2

Closed BSanabria closed 3 years ago

BSanabria commented 3 years ago

I used analysis 19 beta to find spots close to filaments and it worked well picking up the spots but the distances for some spots were off. I tried using the updated analysis 24_beta but the spots close to filament function crashes immediately. I'll be happy to help any way I can.

Ironhorse1618 commented 3 years ago

Thanks for checking. I think i repaired the issue with Filament Close to Spots failing in the 24_beta. You can try that again. I think i deleted a line when checking it.

As for you comment on the distances being off. Can you be more specific? I just did a test and it seems ok. Can you describe the type of dataset you have? Is it one filament, or multiple? Are there any filaments with "0um" length? Check the overall stats, and see how many filament are listed. Then check "Filament length Sum"

Was it with the "Filament number of Coloc Spots on Dendrite"?

BSanabria commented 3 years ago

Thank you for the update, the analysis 24_beta stopped crashing. The dataset is a reconstructed striatal neuron using the filament function, with cortical inputs innervating it using the "spots" function. The "Find Spots close to Filaments" function in analysis 24_beta worked well in picking up spots along the filament however I think there is still an issue with the distance measurement. For most of the spots the distance seems correct. However, there are a few outliers that have distance measurement that doesn't correlate well. I only have one filament listed and no filaments with a "filament length sum" of 0um. I have uploaded some pictures to help demonstrate the issue. One distal spot is 112um away from the start point (soma), which seems correct, but the spot directly next to it has a distance of 2.53um. Is there any way to highlight the starting point each spot is using to obtain the distance and maybe run a loop to check that they all have the same value?
Filament_correct_distance_distal_input Filament_incorrect_distance_distal_input

Ironhorse1618 commented 3 years ago

Interesting...For some reason that spot position must not be identified properly. are there other in this image that are off too, I bet there are. The way it works is to find the closest point to the dendrite and measure the length from there. Can you share the file with the filament and spots as they are? Use the link below to share. I will take a closer look this weekend. Thank you.

https://www.dropbox.com/request/dtQAZAfNRNIosR2rcNqN

Ironhorse1618 commented 3 years ago

I received your file thank you. I think i have resolved it. I will compile a new version this weekend. Both the shortest distance and distance along fillament should be fixed. The indexing was off on the colocalized and I removed some code that not only made the processing time take longer, but not sure why i put it in there in the first place.

BSanabria commented 3 years ago

I tried using beta_analysis_26 on the original files posted above and it seems to work fine picking up spots close to the filament as well as their distances from the soma. However, for some of my other constructions the distances still seem a bit off. I have posted another example below. This one is from a reconstruction of an aspiny fast spiking interneuron. I am not sure if the construction missing spines will affect the distance measurements for the spots. Let me know how I can help. I uploaded the imaris file I have used to your dropbox.

non_spiny_neuron_correct_distance_distal_input non_spiny_neuron_Incorrect_distance_distal_input

Ironhorse1618 commented 3 years ago

Thank you for the new images. I think i have finally figured it out, for real this time. It was using the wrong index for the starting point to measure the distances. I have resolved it. I will upload new version maybe later today.

I wanted to ask you a question, You have a lot of spine in your images. Can I ask what if anything you want to know about the spots relationship tot he spines? When i measure the distance to spot to dendrite how do think i should handle the spines. Is there any spine related stat that may interest you?

Spot distance to soma is currently using the closest Filament point to measure the distance to soma. I figure the spines are so small the distance difference would be minimal. In theory, it could measure spot distance to soma from point on spine.

I am trying to make the processing faster by skipping some spine stuff, because you have 1000's of spines. any comments?

BSanabria commented 3 years ago

I think for all of the beta's you have made, each one runs relatively fast even with all the spines in my images. So the processing speed has never been an issue so far. The issue has always been the distance measurement. However, I agree that there are probably even more interesting data you can get from the spines. I'm not sure if this is something Imaris can do already, but having a stat that tells you how many spots are colocalized to a spine head / neck vs spots on the dendritic shaft itself could be a very useful addition to this function.

Ironhorse1618 commented 3 years ago

Thank you for the update. I do not have time to do what i wanted to do just yet, but i have modified the beta that is on the site now. It should provide the correct distance measurements. I can definitely improve the speed regarding spine analysis.

I did want you to have some caution making your filaments and drawing spines. In one of the images you provided, it had like 12 Filaments objects, in which two of them had starting points. And the small ones without starting point were all spines, taht were drawn as disconnected segments. I am working on my code bypassing these better, but in order for the Xtension to run smoothly, make sure you have a single startingpoint and only one filament

As for your new stat regarding spot close to spine head and neck, I think you would need to have a much high resolution image for that to be useful. But it could be done.

BSanabria commented 3 years ago

I will proceed with caution and double check my constructions. Although this is still in beta, it does a great job and thank you for taking the time to work on it, as well as for your feedback on the data.

BSanabria commented 3 years ago

I have a question regarding the distance threshold for the "find spots close to filaments" function in beta 27. Is it using the distance from the center of the spot to the edge of the filament or distance from the closest edge of the spot to the edge of the filament?

Ironhorse1618 commented 3 years ago

The measurement for filament to spot distance takes into account both the spot radius and filament radius. So its essentially, spot edge to filament edge. I hope that clears it up.