MakeProjection and IdentifyPrimaryObjects in one pipeline



Hi, I have been using CP to create max projections of z-stacks and then identify/quantify objects within the max projections. The max projections are currently made in one pipeline and the objects are identified/quantified in another. I want to combine the two pipelines but have had no success. Has anyone figured out how to make a projection and identify objects from it with in a single pipeline?


I’ve been attempting to do the same thing and build a single pipeline where I can upload z-stacks, convert them ti max projections, then threshold the resulting single images and identify primary objects. Instead, CellProfile thresholds and identifies the primary objects in every frame, then after analyzing every individual frame creates the max projection (which doesn’t identify any cells at all). The first module in my pipeline is the MakeProjection module, so I’m not sure why it’s making the max projection as the final step. In the NamesAndTypes module, I marked every set of frames as “Image Is Stack Frames,” so I’m not sure why they’re being treated as images.


I am using CellProfiler 3.1.5 with macOS High Sierra version 10.13.6.
I’ve been trying to do the same thing (max projection, correction illumination, blob detection and quantification of spots in one pipeline) & I get exactly the same results as you.
In brief, acquired z-stack images (tiff) were converted into maximal projection.
Subsequently I made sure that the pipeline consider the maximal projections for further processing.
However it always ends up by considering each z-stack as an image.

I did not find “Image Is Stack Frames” in the NamesAndTypes module. How did you access to it?

Moreover, after the ConvertImageToObjects module, the pipeline uses MeasureObjectSizeShape, MeasureObjectOverlap & MeasureObjectAreaOccupied to quantify the selected objects and ExportToSpreadsheet to generate and export data.
Unfortunately, after certifying that the ConvertImageToObjects module is working, none of the expected csv. files are generated in the output file location (or nowhere else).

Has anyone found a way to overcome these problems ?

thank you in advance


At the very least,I can answer your questions about max projections. Turns out, you can’t make a max projection and process it in the same pipeline, they have to be two separate projects. I’ve had decent success using FIJI too, to open up a .lif file, separate every series in the file into separate .tifs, then using batch processing in FIJI to convert them all to max projections. Ideally I’d like to combine it all into a single macro, but I’m very new to coding and scripting, so it’s been tough. As far as your question about the missing .csv files… The ExportToDatabase module is very finicky. You may just have to trial-and-error your way through it until you find the correct combination of ticked boxes.

Sorry I can’t help more!


Hi guys,

This is unfortunately not possible. CellProfiler isn’t designed to do “loops”- once through all to project, then once through all to process. It would unfortunately make CellProfiler very much more complicated to maintain to include such a function, so while I totally understand the rationale it’s unlikely to happen anytime soon. Sorry!