ImageJ communication

CellProfiler 2.1.1 seems to have stopped communicating fully with ImageJ in the execution of its RunImageJ module.

I have a simple pipeline and the RunImageJ module runs the Process…Enhance Contrast command. I have it configured to take as input the image from the previous item, then save the current output image for use in an ensuing module. For a time this was working, then it simply stopped integrating.

The input image is opened in ImageJ, the Enhance Contrast dialog is presented, and when it is dismissed the contrast is adjusted as expected. However, the CellProfiler dialog for the RunImageJ step says “No input image”. The “input” image for the ensuing module is identical to the input to the RunImageJ module, as though nothing at all had been done in ImageJ. The behavior is almost identical when using a beanshell macro. There are no errors in the CellProfiler console window, and the memory utilization for the worker process never rises above 300M.

Has anybody seen anything like this? Is there any deeper logging available other than the console window that might shed some light on what’s going on under the hood?

Would you mind posting your pipeline plus a sample image, so we can give it a try?

Hi Mark, I’ve attached an exported pipeline and the image I was running it through. I’ve actually since wiped and re-installed the OS and the problem persists, so it must have to do with the project file somehow, but even new projects are exhibiting the behavior. This one’s set to wait for the user to fill out the Enhance Contrast form but there’s also a beanshell macro configured in the pipeline.


p.s. I’m running the 64-bit Windows version, on 64-bit Windows 7 SP1.

4x_3.cppipe (6.26 KB)

Nevermind on this one – User error, I think. I wasn’t checking Normalize, which is apparently required in ImageJ to effect a change to actual pixel values (rather than, I presume, the image only as it is displayed on screen). The “no image” message in the CellProfiler window led me to believe there was some communication error.

I think you’re right, based on the ImageJ docs:

I am having the same issue- however, checking “Normalize” did not appear to solve the problem. I still get a “no image” message in the CellProfiler window and the subsequent module uses the original image as if it was never altered by RunImageJ

TGN_confocal.cppipe (13.5 KB)

Has anyone figured out how to fix this issue?

Hi, please try the following:

In the RunImageJ module, change the first setting in the drop down menu to Macro. Create a macro in ImageJ and copy and paste it into the Macro dialog box in CellProfiler. For example,

run(“Gaussian Blur…”, “sigma=5”);

I’ve edited the pipeline @jb2425 has provided with this example. I hope this helps.

TGN_confocal_with-macro.cppipe (13.6 KB)