Bug in OverlayOutlines in osx/linux but not in windows


I think I’ve found a bug in the OverlayOutlines module. If I try to overlay outlines using “Color” the module fails, but using “Grayscale” it works.
The failure gives slightly different error messages in osx and linux. My pipeline appears to work in windows.

I’ve attached a zip with all the relavent files. The original image is big, hopefully it will upload properly… The answer is no, it does not. Lame. I will post the image here: — drop box location available on request: jmclaughlin@rigel.com

What this pipeline does is first opens an image of mouse gastrocnemius muscle that has been stained for type I muscle fibers. Then it opens an image map where I’ve done laminin staining on the same tissue and found the cross section outline of muscle fibers. Then the pipeline measures the values of the objects from the image map in the original raw image with the type I staining. Then I use the Filter Objects to discard objects below a threshold and finally overlay the outlines i.e. "FibersFoundOverlay’ onto to the ‘RescaledFITC’. The original image I ‘rescaled’ because it was taken at 4X and it hard to see at the original scale.

Anyway the error happens if ‘Color’ is chosen in the OverlyOutlines but not if ‘Grayscale’ is chosen.

Here’s the OSX error:

Traceback (most recent call last):
File “/cc/release_10953/CellProfiler/cellprofiler/pipeline.py”, line 309, in run
File “/cc/release_10953/CellProfiler/cellprofiler/modules/overlayoutlines.py”, line 161, in run
File “/cc/release_10953/CellProfiler/cellprofiler/modules/overlayoutlines.py”, line 253, in run_color

Linux Error is slightly more informative:
Traceback (most recent call last):
File “/usr/local/CellProfiler/cellprofiler/pipeline.py”, line 328, in run
File “/usr/local/CellProfiler/cellprofiler/modules/overlayoutlines.py”, line 161, in run
pixel_data = self.run_color(workspace)
File “/usr/local/CellProfiler/cellprofiler/modules/overlayoutlines.py”, line 243, in run_color
File “/usr/local/CellProfiler/cellprofiler/modules/overlayoutlines.py”, line 271, in get_outline
return_indices = True)
File “/usr/lib/python2.7/dist-packages/scipy/ndimage/morphology.py”, line 2067, in distance_transform_edt
input = numpy.where(input, 1, 0).astype(numpy.int8)

Like I said this works on window7 with 12Gigs Ram (CP ver r10997). OSX box is snow leapord with 8Gigs (CP ver r10997). Linux box is Ubuntu with lots of ram (CP ver 11502).

Thanks for your help. -John

I’ve got an update on this. It appears to be an image size issue. My images are large montages of separate images taken of a tissue section. The large one is ~43Mb, the smaller ~9Mb. I’ve posted a smaller image that works on osx with the same type of pipeline.

upload for all the test images and pipelines is here: again, sorry, images and pipeline available upon request: jmclaughlin@rigel.com

–this is the smaller example that works:

– this is the larger one that doesn’t:

Hi John,
Just to clarify: Are you saying that the 43MB image was successful on the Windows7 and OSX boxes? If that’s the case, color me surprised…