Relative Radiometric Normalization (RRN) Methods¶
RRN methods differ not only in the algorithms used to adjust image values but also in the requirements images must have and other techniques that can be used in conjunction. The following taxonomy summarizes the core dimensions along which RRN techniques vary:
- Matching algorithm: The core transformation applied to align radiometry between images.
- Geometric alignment required: The level of spatial alignment necessary for the method.
- Pixel selection (PIFs/RCS): How pseudo-invariant features/control sets are identified.
- Adjustment scope: How corrections are applied to the images.
- Overlap: Whether the method requires overlapping pixels.
- Pixel units: The radiometric units the method is able to operate on.
- Bands: Whether bands relationships are preserved.
- Target reference: What the target image is normalized to.
Multiple matching algorithms can be used in conjunction with multiple pixel selection methods. Note that the most restrictive method will dictate the image requirements (e.g. if using Global regression
with Overlapping area
the Geometric alignment
will need to be Moderate
). The specific matching algorithm used in each method is flexible and not fixed; it may involve least squares, RANSAC, Theil–Sen, Huber, or other forms of robust regression.
Matching Algorithms¶
Matching algorithm | Description | Geometric alignment | Adjustment granularity | Applies | Overlap required | Pixel units | Bands | Target reference | Year introduced | Key papers | Software |
---|---|---|---|---|---|---|---|---|---|---|---|
Histogram Matching (HM) | Matches histogram distributions between images | None | Global | Lookup table | no | Any | Independent | Reference histogram | 1980s | ENVI; HistMatch QGIS Plugin; ArcGIS Pro; IMAGINE Mosaic Pro; landsat R library via histmatch() | |
Minimum–Maximum Scale Normalization | Linearly scales pixel values to match reference min/max | None | Global | Min/max | No | Any | Independent | Reference min/max | 1980s | ||
Mean–Standard Deviation Regression | Fits linear regression using mean and std dev | None | Global | Gain/offset | No | Any | Independent/Correlated | Reference mean/std | 1980s | ArcGIS Pro; spectralmatch Python library and QGIS plugin | |
Overlaping pixel-wise Linear Regression | Fits linear regression using overlapping pairs of pixels | Co-registered | Model | Gain/offset | Yes | Any | Independent/Correlated | Reference image pixels | 1980s | ArcGIS Pro; landsat R library via relnorm() | |
Block adjusted gamma correction | Adjusts local brightness via block-based gamma scaling | Moderate | Blocks/interpolation resolution | Power function | Yes | Any | Independent | Reference block map (mean of local blocks) | spectralmatch Python library and QGIS plugin | ||
CCA/KCCA-Based | Finding the most correlated combinations between images | Co-registered | CCA space resolution | Matrix | Yes | Any | Correlated | Reference canonical components | |||
Dodging | Smooths brightness using low-pass filtering to reduce lighting artifacts | Co-registered | Blur resolution | Low-pass brightness correction | Yes | Any | Independent | Blur created brightness values | ArcGIS Pro; IMAGINE Mosaic Pro | ||
Illumination Equalization | Models and removes large-scale illumination differences across images | Co-registered | Surface model resolution | Modeled lighting correction | Yes | Any | Independent | Computed illumination values | IMAGINE Mosaic Pro | ||
Wavelet reconstruction | Uses ancillary data to model and reconstruct image values at multiple detail levels | Co-registered | Ancillary data resolution | Decomposition/reconstruction | Yes | Any | Correlated | Ancillary data | (Gan et al., 2021) | ||
Dual-reference affine interpolation | Models corrections from the two nearest reference images and applies temporally weighted interpolation | Co-registered | Model | Gain/offset | Yes | Any | Independent | Two closest high-quality reference images | 2020 | (Hessel et al., 2020) | rrn-multisensor-multidate Python scripts |
Pixel Selection¶
Pixel selection (PIFs/RCS) | Description | Type | Geometric alignment | Overlap required | Pixel units | Year introduced | Key papers | Software |
---|---|---|---|---|---|---|---|---|
Whole image | Uses all pixels without selection or masking | None | None | No | Any | |||
Overlapping area | Uses only pixels in the spatial overlap between images | None | Moderate | Yes | Any | |||
Manual polygons or pixels | User-defined areas or points chosen as invariant | Manual | None | No | Any | |||
Manual threshold | Selects pixels based on value threshold | Threshold | None | No | Any | |||
Dark/Bright Set (DB) | Selects darkest and brightest pixels assumed to be invariant | Threshold | None | No | Any/reflectance may perform better | |||
NDVI ratio | Uses vegetation indices to isolate vegetated areas for normalization | Band ratio | None | No | Reflectance | spectralmatch Python library and QGIS plugin | ||
K-T ratio | Uses the Kauth–Thomas transformation to identify invariant pixels in greenness–brightness space | Band ratio | None | No | Reflectance | (Hall et al., 1991) | landsat R library via RCS() | |
Urban materials ratio | Assumes that certain man-made surfaces (e.g., roads, rooftops) have stable reflectance over time and uses their statistical properties to correct radiometric differences | Band ratio | None | No | Reflectance | 1988 | (Schott et al., 1988) | landsat R library via PIF() |
No-change Scattergrams (NC) | Selects pixels near the scatterplot diagonal where reference and target values match closely | Statistical | Co-registered | Yes | Any | (De Carvalho et al., 2013) | ||
Multivariate Alteration Detection (MAD) | Identifies invariant pixels by transforming image differences into uncorrelated components; selects pixels with minimal change across all bands | Statistical | Co-registered | Yes | Any | |||
Iteratively Reweighted MAD (IR-MAD) | Refines MAD by reweighting pixels to improve change detection | Statistical | Co-registered | Yes | Any | (Canty & Nielsen, 2008) | ArrNorm Python scripts | |
Multi-Rule-Based Normalization | Combines several selection rules to identify invariant pixels | Statistical | None | No | Any | |||
PCA | Uses principal component analysis to identify pseudo-invariant pixels along the major axis of multitemporal scatterplots | Statistical | Co-registered | Yes | Any | 2002 | (Du et al., 2002) | |
Gradient angle similarity | Selecting the 10% of pixels with the smallest gradient angle differences between an image and its reference | Statistical | Co-registered | Yes | Any | 2020 | (Hessel et al., 2020) | rrn-multisensor-multidate Python scripts |
Feature-Based (Keypoint) RRN | Matches distinctive features between images and uses their correspondence to guide normalization | Geometric | Moderate | Yes | Any | |||
Location-Independent RRN (LIRRN) | Groups pixels by brightness or spectral similarity, then matches these groups between images to perform group-wise normalization | Geometric | Moderate | Yes | Any | 2024 | (Maghimi et al., 2024) | LIRRN MATLAB scripts |