Calculate Distance of Objects from a Specified Point

Hello,

I have stained a brain slice with antibodies to human nestin and human nuclear antigen. I’ve been able to identify the human nuclei (primary), and create a secondary (the cell) and tertiary object (cytoplasm). Using the secondary object and the grayscale nestin image, I was able to measure the intensity of nestin expression in my objects. I’ve also classified my cells based on that intensity.

I would like to be able to see if nestin expression changes the farther out a cell is from the initial tumor mass. Is there any method that can help me measure the individual distances of my objects (the cells) from a specified point (For the sample picture I am posting, I would like the point to be the far left-middle, which is about the center of the tumor mass)?

Also, while I’m posting this, for future use, is there a good way to identify objects that are more fiber/filament-like (Nestin)? I’ve been trying different threshold methods to identify nestin as objects, but it’s hard to match the staining.

I have attached a sample image and my pipeline so far. Any suggestions or feedback would be greatly appreciated!

Thanks!

-Arjuna



IntensityClassification.cp (13.4 KB)

[quote=“AUgarte”]
I would like to be able to see if nestin expression changes the farther out a cell is from the initial tumor mass. Is there any method that can help me measure the individual distances of my objects (the cells) from a specified point (For the sample picture I am posting, I would like the point to be the far left-middle, which is about the center of the tumor mass)?[/quote]

Unfortunately, there is no straightforward way to do this. The one option that comes to mind is to add the X,Y location of the point you want to measure from as a column in the cell output from ExportToSpreadsheet and then use formulas in Excel to calculate the distances from this point and the X,Y locations of each cell.

Based on your images, I think you’ll get better nestin detection in IdentifySecondaryObjects using 3-class Otsu thresholding, setting the middle class to Background. Let me know if that gets the results you want.

Regards,
-Mark

Hi Mark,

Thank you for your quick response! That thresholding method worked quite well, and is closer to what I wanted.

As far as my distance problem, I was able to use multiple CalculateMath methods, essentially performing the distance formula. It would be nice if in the future, you guys could make the CalculateMath accept a formula or even just numbers the user types in so that not so many windows have to pop up because of the multiple CalculateMath methods. I’ve attached my pipeline in case anyone was curious.

Thank you again!

-Arjuna
Final.cp (20.6 KB)

That’s pretty creative. Good thinking!

One option that you have is to go to Window > Hide all windows on run in the main toolbar. Alternately, if you click the eye icon to the left of each module, you can hide individual windows as well.

Regards,
-Mark

ImageJ has an expression evaluator (Process > Math > Macro…) which takes an arbitrary formula for doing image math. You could run this macro using the RunImageJ module in CellProfiler; see the help for details. I believe the macro command ‘run(“Macro…”, “”);’ would be the input into RunImageJ.

Cheers,
-Mark