I am pretty new to Cellprofiler and hope to get some advice on how to count osteoclasts.
I’m looking to count the number of osteoclasts in my images, while ignoring the mononuclear cells.
The criteria for counting would be that the osteoclasts have at least 3 nuclei and are stained red/purple.
Given that osteoclast are often very big and irregular in shape, and can have many nuclei, is it even possible to do an automated counting using software such as Cellprofiler ?
Hmm, this is a tough question.
At least on my phone the nuclei all look brown, I don’t see red/purple!
And, I’m not sure which cells have single nuclei vs multiple, how can you tell? There isn’t a membrane stain as far as I can see that delineates the boundaries?
All that said, if YOU can see the difference in the images, then I bet you’d have good luck using CellProfiler to identify all individual nuclei (this seems pretty easy for your images, they look great!), measure lots of features about them, then use CellProfiler Analyst’s Classifier tool to classify them. You can check out our various papers and the manual for CellProfiler Analyst to learn more!
Thanks for your feedback Anne !
To clarify, in my images I have used TRAP staining to stain the cells, the cytoplasm of the osteoclast will be stained dark red/purple, unfortunately the other cells (mononuclear) are often stained brown, so it can be tricky to tell them apart from the osteoclasts sometimes. As for the nuclei, they are not stained in any way. I know that it would probably be wise to do future experiments with different staining methods and include a nuclei stain, but as it is we have a lot of images from experiments done using this method, and that’s why I would like see if it possible to count them using a software.
You mention using CellProfiler Analyst, and focusing on the nuclei, but I would have to first figure out how to indentify the osteoclasts using CellProfiler right? Would the best method be to have the cells as the PrimaryObject, and the nuclei as the SecondaryObject ?
Oh, silly me! I see now; I assumed I was looking at nuclei with nucleoli but actually it’s cells with nuclei!
In CellProfiler: identify each distinct cell using the brownish staining, using IdentifyPrimaryObjects. Measure lots of features of those cells using MeasureTexture, MeasureObjectIntensity, MeasureSizeShape etc. Export the measurements so that you can load into CellProfiler Analyst.
In CellProfiler Analyst: drag and drop the cells into different bins depending on your preferences (osteoclast vs not, apparently). The machine learning algorithm will look at the features and figure out the combination of features that properly identifies the classes you are trying to separate. It will likely be some combination of the red/purple tint and texture features that indicate multiple nuclei.
If you did have a very specific stain for nuclei that you could image in a separate channel (obviously fluorescence would be great for this) the problem becomes much more easy. You would probably just use CellProfiler alone to identify cells using IdentifyPrimary and identify nuclei using IdentifyPrimary, then RelateObjects to figure out which nuclei are in which cells (which also counts them up). Then FilterObjects can separate the different classes based on number of nuclei “children” for each cell “parent”.
I looked at this last night. I tried to use UnmixColours to separate the stains (pretty unsuccessfully) and then as Anne suggests I used IdentifyPrimaryObjects modules to identify the nuclei and cells and then related them and filtered with the RelateObjects and FilterObjects modules. I can’t really assess how good a job it is doing as I’m not sure what is an osteoclast or not so it might be quite far from the results you want but I thought I’d share the pipeline since I had already made it.Osteoclast_Pipeline.cppipe (10.9 KB)
Thank you for your help Laura ! I ran your pipeline and it worked, somewhat. It does not detect all osteoclasts and sometimes finds negatives. I’ve tried tweaking the different parameters, but so far I have not been successful in getting the results I want. I think it’s possible to get there in the end, but for now I would like to try Anne’s approach using CellProfiler Analyst.
Hi again Anne
I’ve been trying to get CPA to work, but have been unsuccessful so far. I set up a pipeline like you described in CellProfiler, but when I try using CPA it gives me an error messages and the programs closes.
The error only show up when I try to view an image in the Imageviewer module, or when trying to fetch images in the Classifier module. The modules for Histogram, Scatterplot etc. works just fine. So I guess the problem is related to the image somehow?
As you can see from the screenshot I don’t get any error messages in the Debug-window for CPA , just this Windows-type error message.
Any advise you could give would be much appreciated
DefaultDB.properties (7.1 KB)
osteoclast cellprofiler analyst test.cpproj (454.1 KB)
This might be a little tricky to debug since to fully try it here we’d need your images, etc. I’m hoping one of the other experts here has an idea!
I’m just working with one single image, I can try to upload it here tomorrow when I’m at my work PC, although its around 50 MB, I don’t know if there is a size limit when uploading here? I could incase put it on Dropbox.
I have a sneaking suspicion it might be the spaces in your path name- can you try changing the path/moving the files and rerunning CP, then seeing if CPA is happier? If not, at least we’ve ruled something out.
I tried changing the path name to something without spaces, but it did not help.
Here is a link to the image I’m trying to analyze:
I updated to the newest version of CPA, and it seems to be working. I was using version 2.0 earlier, it was the version made available through our IT-departments pre-approved software.
Anyways, thanks for your help!