Hemocyte analysis snafus: a few questions from a CP newbie

Hello :smile:

I am trying to analyze images that contain a heterogeneous population of Drosophila blood cells (hemocytes). The majority of the cells are round and vary in size from ~10-40 um diameter (these are plasmatocytes or activated plasmatocytes). There are some larger cells with a banana-like shape that are often 5x larger than the plasmatocytes (these are lamelloocytes).

My images start off as .nd2 files. I have been converting Z-stack projection images from each of the three channels (I have a nuclear marker as one of my channels) into 16-bit grayscale images and them saving them as .TIF files for CP analysis. I would ultimately like to be able to use CP to extract the following general information:

  • Cell size, shape (i.e. spikiness)
  • Intensity for each channel per cell
  • % nuclear localization of certain proteins (labeled as channel 2 in attached images)
  • BONUS: number and size of puncta per cell

Attached below are sample images (one from each channel) and the modified pipeline that I have been working with.
Here are my questions:

  1. The cells are stained with phalloidin (red channel) so that I can see the outline of each cell. The control cells stain much less strongly for phalloidin than the mutant cells. Therefore, in order to see the outline of the control cells, I have to crank up the contrast much higher than I do for the mutant cells. I have been adjusting the contrast for my 16-bit images in FIJI prior to saving them as .TIF files for CP. Thankfully, adjusting the contrast in FIJI does not appear to change the intensity readout from CP. However is there a way to make these contrast adjustments directly in CP?

  2. The CP pipeline that I am using is doing a reasonable job of identifying the round cells (plasmatocytes) but it is chunking up the larger banana-like cells (lamellocytes) into multiple smaller cells (even though there is only one nuclei for most of these large banana-shaped cell). Any ideas about how I could tweak my pipeline so that I can simultaneously analyze both cell types in my images?

  3. Some of the cells are multinucleate. How do I get cell profiler to recognize that two or more nuclei belong to one cell?

Thanks so much for any help that you can provide! I look forward to using CP for my analysis.
Basic analysis.cpproj (537 KB)





I took a look at this and there are a couple tricks I used. To detect the bananas, I segmented on the red channel using 3-class Otsu, assigning the middle class to the background. This gives you segmentations of the brightest objects, which seem to be the bananas. I excluded smaller objects and used the solidity shape measurement to distinguish roundish things from the bananas - solidity is close to 1 for round objects and somewhat less for crescent shapes. It worked for the mutant images, but you should check and tune the cutoff I used.

In order to deal with the multinucleate problem, I segmented the cells and nuclei separately using IdentifyPrimaryObjects, then used RelateObjects and ReassignObjectNumbers to get UnifiedNuclei objects - one UnifiedNuclei object per cell. For multinucleate, you get distinct blobs - the count of nuclei per cell should be greater than one for these and their Euler Number area/shape measurement should be 2 or more.

My pipeline is attached, hope this is close to what you are looking for. More comments in the pipeline itself.
LeeModifications.cppipe (24.5 KB)

I would suggest adjusting the thresholding strategy and/or threshold correction factor in IdentifySecondary in order to pick up the control cells properly. If the treated cells are much brighter, I would imagine settings that detect the dimmer cells should pick up the brighter ones as well.

Also, I should mention that CellProfiler 2.1 should be able to handle .nd2 files without needing to split them up. Feel free to zip one up and post it if you need help doing this.
-Mark

Also, if you detect the nuclei and then use MaskImage with the channel 2 as input and the nuclei as the masking object, you can try to detect the puncta from the resultant image. You can then use RelateObjects to assign the detected punta to the enclosing cell; the module also records the number of punta per cell.

If you want the puncta size, you can use MeasureObjectSizeShape on the punta objects, and enable the “Calculate means…” setting in RelateObjects to compute the per-cell mean punta morphology.
-Mark

Hi Mark,

Thanks for your response. I would definitely really appreciate your advice on how to directly input .nd2 files in Cellprofiler. My example .nd2 files was too big to attach (even zipped up). I have created a link for you to download it here: dropbox.com/s/vnmykrabgjwr6 … 09.nd2.zip. PLease let me know if you have any trouble accessing the file. This is the .nd2 file that the three .TIF images that I posted previously were generated from. The .nd2 files that I have contain data in two or three different channels (488, 561, 640) and start off as stacks of 20-40 slices. I open these .nd2 files in FIJI. In FIJI, I then make a sum intensity projection of the stack for each channel and convert these projections from 32-bi to 16-bit images. I was saving then saving them as .TIF files before loading these files into Cellprofiler. In some cases, I was also making contrast adjustments in FIJI before saving the .TIF files.

I am very curious to hear what the correct procedure would be for doing all of these steps in Cellprofiler.

Thanks so much for your help!

Please see the thread here for more commentary and fixes on nd2 stacks, projections, etc.:
viewtopic.php?f=14&t=3808&p=11108&sid=b22d1684b1116e6322a2f1b67e8976d2#p11108

Cheers,
David