We hope you’re enjoying our new CellProfiler 4.1 release! If you haven’t had a chance to see it yet, please do grab a copy from https://cellprofiler.org/releases.
There are a few new features or changes of note we’re particularly excited to share with you all:
For the first time since 2015, there is an officially-supported bridge between ImageJ and CellProfiler with the RunImageJMacro module. This allows you to run a script or macro in any language supported in ImageJ through CellProfiler, allowing you to pass images into ImageJ and receive images back into CellProfiler. If there’s a filter or process you feel has been missing in CellProfiler, but is present in ImageJ, you can now access it from inside a single CellProfiler pipeline. The current version is definitely a v1, and we plan to add more functionality, so please let us know what else might be useful! To learn more about how to use it, check out the wiki and/or video below:
- In addition to exporting pipelines in the traditional “.cppipe” text format CellProfiler has used since version 2.1, you can now also export and import CellProfiler pipelines as JSON files as well. This is a big step toward making CellProfiler pipelines easy to manipulate via scripts, and it will now be easier to add additional file formats as well.
- We’ve made some updates to the ImageMath module; in particular, we fixed a long-standing bug that was causing masks to not be applied when “Ignore image masks” was set to “No”. If you’re using ImageMath on any masked images in your pipeline, you may want to check your pipeline after upgrading to ensure it’s still behaving in the way you intended. We also introduced a “Standard Deviation” mode, and the changes we made will make it easier to introduce other new mathematical modes, so if there is anything you feel is missing, feel free to comment or make a Feature Request at our GitHub.
- If you’re trying to run large images or on a machine with limited memory and find CellProfiler isn’t clearing out memory as aggressively as you hoped between image sets, we’ve added a “Conserve system memory” setting in the Preferences that may help; it may come with a slight performance cost in terms of time per image set, but can facilitate running many large images when memory is at a premium. To use it in headless mode, add the flag `--conserve-memory True` when executing CellProfiler at the command line.
- We’ve made it easier to co-install multiple versions of CellProfiler on the same Windows machine by changing our Java packaging.
We’ve also moved to BioFormats 6.6.0 and made a number of small bug fixes, including to the display functions for several 3D modules, to modules that were using Minimum-Cross-Entropy thresholding (where occasionally images would cause the program to hang indefinitely), to measurements on Secondary objects when they were filtered for touching the edge but their parent objects were not, and to the MeasureImageQuality and Align modules.
Thanks to David Stirling, Alice Lucas, Allen Goodman, Vito Zanotelli, Lijun Wang, Erin Weisbart, and Martin Dahlo for contributing to CellProfiler and/or CellProfiler-core since our 4.0 release!