IdentifyPrimaryObjects 3D



We are trying IdentifyPrimaryObjects on a 3D stack and are getting the error:

“structure and input must have equal rank”

Is this supposed to work?

… using Windows10 … and also MacOS … (470.4 KB)
Untitled02.cpproj (750.2 KB)


Back in May there was a mention (3D image capabilities: coming soon to CellProfiler!) that IdentifyPrimaryObjects did not support 3D images.

I segmented a 3D stack by using Threshold and Watershed modules.


That’s right. There should be a table in the help of each module indicating whether it’s 3D compatible - IdentifyPrimaryObjects is not (yet). Your best bet is to download the example 3D pipeline. It contains some of the same strategies as IdentifyPrimaryObjects but broken into individual steps. Here is a link:


Thanks for the infos!!



I quote @bcimini 's nice explanation:

IdentifyPrimaryObjects is actually a collection of smaller functions, like smooth, resize (to speed up), watershed (to declump), filling holes etc…

In 3D pipeline, you would see each of these functions is executed in an individual module, whereas in 2D you can just use IdentifyPrimaryObjects and all that will be executed.

So although we say IdentifyPrimaryObjects is not yet supported for 3D, you can effectively do it by building a series of modules as seen in the example Anne linked.

Hope that helps.


Yes, that helps! In fact I managed now!