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:
- Azan-Mallory: Anilline Blue + Azocarmine + Orange-G
- Giemsa: Methylene Blue or Eosin
- Masson Trichrome: Methyl blue + Ponceau-Fuchsin
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
- Ruifrok AC, Johnston DA. (2001) "Quantification of histochemical staining by color deconvolution." Analytical & Quantitative Cytology & Histology, 23: 291-299.
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:
Stain | Color | Specific 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.