Problem with DisplayPlateMap Module

Hi guys,

I just installed the latest CP 2.1.2 (from 2015-01-29) and did some testing. I have a folder of image files (*.czi) files where I extract the metadata using regular expressions. The results shows:

Plate: 96well (for all 96files, e.g. one per well)
Well: A1, A2, …, H12

This looks all fine. I do some filtering and Identify some primary objects and wnat to display heatmap. And here I have the problem. I cannot really figure out, how this work (uploading the CP projects fails…). I will try from home again later…

My setting for the DisplayPlatemap module are (from Top --> Bottom)

Object, SingleNucleus, Number, Object_Number, 96, Metadata, Plate, Row & Column, Metadata, Well, Metadata, Well, avg, Objects per Well

But I always get the error:

Traceback (most recent call last):
File “cellprofiler\gui\pipelinecontroller.pyc”, line 2777, in do_step
File “cellprofiler\modules\displayplatemap.pyc”, line 231, in display
File “cellprofiler\gui\cpfigure.pyc”, line 1745, in subplot_platemap
AttributeError: ‘NoneType’ object has no attribute ‘Insert’

Here are the attachements. Since the upload does not work for me: …

It includes to eample CZI images for the first 2 wells, the complete folder has 96 of those images.

I am also wondering, why CP shows my for the CZIs only series 0. In fact every file has 9 series. When I use Fiji and BioFormats to open it, those 9 series are recognized w/o problems



[quote=“sebi06”]My setting for the DisplayPlatemap module are (from Top --> Bottom)
Object, SingleNucleus, Number, Object_Number, 96, Metadata, Plate, Row & Column, Metadata, Well, Metadata, Well, avg, Objects per Well[/quote]

I believe the problem is that you have specified “Row & Column” for the well format. “Row & Column” would be appropriate if you used two separate metadata tags one for the row, one for the column. But as it is in the Metadata module, you have extracted the well as [row+column], e.g., “A1”. So “Well name” is appropriate here.

EDIT: Turns out the above fixes a problem but a different one from the one you mention :smile: Looks like you found a bug, which I’ve filed here: … ssues/1298

Since it’s an image stack, you need to configure the metadata module properly to open it. We have a tutorial on loading image stacks; see, under “Loading image stacks and movies”.

In your case, the first thing you need to do is add a metadata extraction method and select “Extract from image file headers”. Afterwards, pressing the “update” button below the divider should show the complete structure. Then in NamesAndTypes, I think you can set “Assign a name to” to “Images matching rules” and [Image][Is][Stack frame] as the rule criteria.

Hi Mark,

i tried to follow your advice and solved the issue with the series. But I ran into the next problem. I added a complet folde with 96 CZI-Files (each has 9 series) and pressed “Update” (below the divider) inside Metadata and got an error. I am running windows7 64bit with 8GB RAM. Every CZI file has 5MB and the whole folder in around 450MB.

Traceback (most recent call last):
File “cellprofiler\pipeline.pyc”, line 2109, in prepare_run
File “cellprofiler\modules\metadata.pyc”, line 738, in prepare_run
File “javabridge\jutil.pyc”, line 830, in call
File “javabridge\jutil.pyc”, line 797, in fn
JavaException: Java heap space

I also see, that some of the files are not parseded correctly:

Path / Url - Series - Frame - C - ChannelName - ColorFormat
Scene-01-A1-A1.czi 0 0 None None None
Scene-02-A2-A2.czi 0 0 0 Dapi monochrome

Both files have the identical Metadata, but in one case it went wrong. And the table only has 144 entries. I would expect 96 * 8 = 864 entries for all series.

By the way, does the upload of images and pipelines work again. This would make it easier to narrow doen the problem.




I managed to get the DispalyPlateMap module to work, but I am having trouble understanding the results.

As an input I used single CZI files for each well, while every singe file has 9 series. I insert the DisplayPlatemap module after the object measurements and started the pipeline. my expectation was, that the number of objects shown inside the Platemap would update and increase for every analyzed series for every well.
But during the analysis only the number of objects for one series for one particular well shows up. And finally the Platemap shows just one measurement.

So my question is, where to setup this module (or the pipeline) correctly, so that in the end the final result is shown?

Cheers, Sebi

The final output of the module looks like this:


I actually have the same problem - the platemap shows the data only for the final image analysed (you can see it update as the pipeline loops). Other wells report as “nan” (even thought they generate numbers during their procfessing cycle). We have played with all the metadata options that we can think of and it still does this - the analysis data exported as a text file looks fine and matches what we would expect, but the visualisation (which would be super useful) is not working as I expected.

We actually just noticed this ourselves, and fixed it in the code. You won’t see it until the next release, but if you’re daring you can download our latest trunk build from this page ( … TrunkBuild) subject to the caveats mentioned. Give it a couple of hours to build; the page should eventually report a timestamp of Feb 5th.

Hi Mark,

great! I will try it out. Thanks for the help.


Hi Mark,

i tested it and now the update itself works fine. There are just a few remarks from my side:

  • the colobar on the righthand-side is never updated and shows no legend
  • the labeling on then x-Axis should show A-H ionstead of 0-11 and on the y-Axis 1-12 insted of 0-11 (for a 96plate)

Maybe the last one is feature request…


I’ve added these as feature requests: … ssues/1302

UPDATE: … And Lee has already implemented them. You should be able to pick them up from the trunk build page.