The problem — Optical microscopes distribute light unevenly across the field of view. The resulting shading gradient biases intensity measurements in every channel: a nucleus at the image centre measures differently from an identical nucleus at the corner, purely because of instrument optics. In high-content screens spanning hundreds of plates, this gradient is stable enough to masquerade as a reproducible phenotype — one of the subtler failure modes in illumination-sensitive profiling.
What it is / how it works — CIDRE (Corrected Intensity Distributions using Regularized Energy minimisation) estimates a multiplicative flat-field and additive dark-field correction surface from a collection of images acquired under the same illumination conditions. Unlike prospective methods that require dedicated blank-field images, CIDRE is fully retrospective: it infers the shading model by assuming that, across a sufficiently large stack, the true signal distribution is approximately stationary. The optimisation uses a regularised energy-minimisation framework that penalises spatially rough correction surfaces, producing smooth, physically plausible flat-field estimates. Published benchmarks in Nature Methods (2015) ranked CIDRE first among 13 shading-correction methods on multiple real-dataset metrics.
Where it fits in the pipeline — CIDRE belongs at the preprocess stage, run per channel before any segmentation or feature extraction. It is available as MATLAB, ImageJ/Fiji, and standalone Java implementations, making it accessible in CellProfiler-centric workflows where BaSiCPy's JAX dependency is unwelcome.
Where it breaks — CIDRE assumes the correction surface is smooth and spatially slowly varying; it is not designed for structured illumination artefacts or tile-stitching seams. Like all retrospective methods it needs a minimum stack size to build a reliable model — sparse acquisitions (very few fields per plate) will produce noisy estimates. The correction is per-channel and must be applied individually; cross-channel correlated shading is not modelled.