Module: UnmixColors

Unmix Colors creates separate images per dye stain for histologically stained images.
This module creates separate grayscale images from a color image stained with light-absorbing dyes. Dyes are assumed to absorb an amount of light in the red, green and blue channels that increases proportionally in each channel with increasing amounts of stain; the hue does not shift with increasing staining.

The module separates two or more stains from a background, producing grayscale images. There are several pre-set dye combinations as well as a custom mode that allows a user to calibrate using two images stained with a single dye each.

Some commonly known stains must be specified by the individual dye components. For example:

If there are non-stained cells/components that you also want to separate by color, choose the stain that closest resembles the color you want, or enter a custom value.

Please note that if you are looking to simply split a color image into red, green and blue components, use the ColorToGray module rather than UnmixColors.

Technical notes

This code is adapted from the ImageJ plugin, Colour_Deconvolution.java (described here) written by A.C. Ruifrok, whose paper forms the basis for this code.

References

See also ColorToGray.

Settings:

Select the input color image

Choose the name of the histologically stained color image loaded or created by some prior module.

Name the output name

Use this setting to name one of the images produced by the module for a particular stain. The image can be used in subsequent modules in the pipeline.

Stain

Use this setting to choose the absorbance values for a particular stain. The stains are:
StainColorSpecific to
AEC (3-Amino-9-ethylcarbazole) Peroxidase
Alican blue Mucopolysaccharides
Aniline blue Pollen tubes
Azocarmine Plasma
DAB Peroxisomes, mitochondria
Eosin Elastic, collagen and reticular fibers
Fast red Nuclei
Fast blue Myelin fibers
Feulgen DNA
Hematoxylin Nucleic acids, endoplasmic reticulum
Hematoxylin and PAS Nucleus (stained with both Hematoxylin and PAS)
Methyl blue Collagen
Methyl green Chromatin
Methylene blue Nuclei
Orange-G Erythrocytes, pancreas, pituitary
PAS Glycogen, carbohydrates
Ponceau-fuchsin Red counterstain for Masson's trichrome

(Information taken from here, here, and here.)
You can choose Custom and enter your custom values for the absorbance (or use the estimator to determine values from a single-stain image).

Red absorbance

(Used only if Custom is selected for the stain)
The red absorbance setting estimates the dye's absorbance of light in the red channel.You should enter a value between 0 and 1 where 0 is no absorbance and 1 is complete absorbance. You can use the estimator to calculate this value automatically.

Green absorbance

(Used only if Custom is selected for the stain)
The green absorbance setting estimates the dye's absorbance of light in the green channel. You should enter a value between 0 and 1 where 0 is no absorbance and 1 is complete absorbance. You can use the estimator to calculate this value automatically.

Blue absorbance

(Used only if Custom is selected for the stain)
The blue absorbance setting estimates the dye's absorbance of light in the blue channel. You should enter a value between 0 and 1 where 0 is no absorbance and 1 is complete absorbance. You can use the estimator to calculate this value automatically.