Color Deconvolution from Fiji


Dear CellProfiler development team,
this is a feature request.
I recently successfully integrated the “CLAHE” contrast adjustment macro using RunImageJ under CP 2.1.
With this, the CP module “UnmixColors” provides better results. I still have some issues when separating Masson’s Trichrome histology images resulting “magenta/red” and “blue” sometimes the same gray values.
ImageJ’s/Fiji’s color deconvolution module (plugin for ImageJ, integrated in Fiji) provides better results in separating true “red” from true “blues” (or other combinations of colors, deconvolving into 2 fully separated channels, leaving one as “leftover”).
The plugin module fails to work with the RunImageJ module, but would be anyways better if natively integrated.

Is this possible and supported for version 2.1?

Thank you.


2.1 is no longer under development, but you’re in luck that CLAHE has already been implemented in CP 3.0; the module name is HistogramEqualization, set “Local” to “Yes”. We’re actively working towards the 3.0 release, though I unfortunately can’t give you a date for it at the moment; you can install it from source now though if you like, installation instructions for various OSes are on our GitHub wiki.


Thanks bcimini for your very fast reply. Indeed I did not know about that in version 3 and the CLAHE, except the discontinuation of “RunImageJ” - I guess it anyways did not work smoothly.

My “computer guy” wisely installed CP3rc1 on my cluster node, so I will try that. In regards of the Fiji-color deconvolution, I decided anyways to run that prior CP, so I use the fiji-separated channels as input for CP, which also will work well. I understand that CP is mostly not used for color images, so that kind of color deconvolution (in contrast to unmixing) maybe not have much interest.

Thanks gain for the fast answer.


It’s interesting that you’re getting different results for the FIJI ColourDeconvolution wrt to UnmixColors, as UnmixColors is directly based off of the code from ColourDeconvolution, but it’s possible that they’ve made improvements that aren’t reflected in our code base or that there’s an interaction with the CLAHE processed images that’s affecting things.

CP was originally designed for fluorescence rather than absorbance based stains but we are certainly noticing more people using it for tissue so if there are ways we can improve in that respect, we’re always interested in feedback!