SNV (Standard Normal Variate)
Standard Normal Variate is a spectrum-by-spectrum normalization method widely used in spectroscopy and chemometrics.
Overview
Standard Normal Variate is a spectrum-by-spectrum normalization method widely used in spectroscopy and chemometrics.
For each image pixel, SNV subtracts the mean of that pixel spectrum and divides by the standard deviation of the same spectrum.
xSNV = (x - mean(x)) / std(x)
The mean and standard deviation are calculated across spectral bands independently for every pixel.
After SNV, each non-constant spectrum has approximately zero spectral mean and unit spectral standard deviation.
This removes absolute offset and scale information from each spectrum while retaining its relative spectral pattern.
What SNV Is Trying To Reduce
SNV is commonly used to reduce spectrum-to-spectrum variation caused by multiplicative scaling and additive offsets.
Depending on the measurement, these variations may arise from scattering, path length, sample thickness, illumination amplitude, collection efficiency, or other nuisance effects.
Important
SNV is a mathematical normalization. It does not prove that the removed variation was physically caused by scattering or any particular mechanism.
When Snv Is A Good Candidate
- Relative spectral shape is more important than absolute intensity.
- Spectra have broadly similar features but different offsets or amplitudes.
- Sample thickness or path-length variation affects magnitude.
- Scatter-related intensity differences obscure spectral shape.
- Clustering or classification should focus on normalized spectral profiles.
- A chemometric workflow has been validated using SNV preprocessing.
- Absolute intensity is scientifically meaningful.
- Signal magnitude is itself an endpoint.
- Concentration information is encoded mainly in absolute amplitude.
- Spectra have very low signal-to-noise ratio.
- Spectra are nearly constant.
- Important class differences consist primarily of overall brightness.
IDCubePro treats every spatial pixel as one spectrum.
For a cube with rows x columns x bands, the cube is reshaped internally into spectra x bands, SNV is calculated for every spectrum, and the result is reshaped back to the original cube dimensions.
Conventional SNV does not use neighboring pixels and does not use a spatial sliding window.
Each pixel is normalized independently from its own spectral values.
SNV does not require a separate white reference, dark reference, mean reference spectrum, or user-selected reference ROI.
This distinguishes SNV from methods such as Multiplicative Scatter Correction.
Before normalization, IDCubePro identifies NaN and infinite spectral values.
For each affected spectrum, non-finite bands are replaced using the mean of the finite values from that same spectrum.
If a spectrum contains no finite values, its replacement mean is set to zero.
WHY HANDLE NON-FINITE VALUES FIRST?
Mean and standard-deviation calculations cannot reliably normalize a spectrum containing unresolved NaN or Inf values.
The replacement step allows processing to continue while avoiding propagation of non-finite values through the cube.
Caution About Missing Values
Replacing non-finite bands is a computational safeguard, not necessarily the scientifically optimal missing-data strategy.
If many bands are invalid, investigate the cause and consider removing or correcting those bands before SNV.
A constant or effectively constant spectrum has a standard deviation near zero.
Dividing by that value would be unstable or undefined.
IDCubePro therefore identifies spectra with non-finite or near-zero standard deviation and sets their complete SNV output spectrum to zero.
The completion message reports how many constant spectra were set to zero.
SNV naturally produces negative and fractional values.
Therefore, integer hyperspectral cubes are not cast back to integer after normalization.
If the original cube is single precision, the SNV result remains single precision. Otherwise the output is stored as double precision.
Negative SNV values are normal.
A negative value means that the intensity at that wavelength is below the mean intensity of that same normalized spectrum.
It does not automatically indicate negative physical reflectance, radiance, fluorescence, or concentration.
SNV values are dimensionless standardized spectral values.
For example, a value near +1 indicates an intensity approximately one spectral standard deviation above that spectrum's mean.
A value near -1 indicates an intensity approximately one spectral standard deviation below its mean.
SNV preserves relative variation around the spectral mean, making differences in spectral shape easier to compare when raw amplitude varies substantially.
However, because both mean and scale are removed, some physically meaningful amplitude information is intentionally discarded.
SNV Vs Simple Mean Centering
Mean centering subtracts the spectrum mean but does not divide by spectral standard deviation.
SNV performs both centering and scaling.
SNV Vs Min-max Normalization
Min-max normalization typically maps each spectrum into a fixed range such as 0 to 1.
SNV instead expresses each band relative to that spectrum's own mean and standard deviation.
The two transformations emphasize spectral information differently.
Vector normalization scales a spectrum according to its vector magnitude or norm.
SNV additionally subtracts the spectrum mean before scaling.
Multiplicative Scatter Correction models each spectrum relative to a reference spectrum, often the mean spectrum of a calibration set.
SNV does not use an external reference. It standardizes each spectrum using only its own mean and standard deviation.
Because the assumptions differ, SNV and MSC are not interchangeable.
Continuum removal divides a spectrum by an estimated spectral continuum, usually to emphasize absorption-band depth and shape.
SNV standardizes the complete spectrum by its overall mean and standard deviation.
Choose between them according to the scientific question rather than treating them as equivalent normalization methods.
Baseline removal estimates and subtracts a wavelength-dependent background or baseline.
SNV subtracts only one scalar mean from each spectrum and then rescales by one scalar standard deviation.
It does not estimate a wavelength-dependent baseline.
There is no universally correct preprocessing sequence.
In many workflows, obvious acquisition artifacts, invalid bands, dark/white reference correction, and other physically necessary corrections should be handled before statistical normalization.
The complete preprocessing sequence should be chosen according to measurement physics and validated for the intended analysis.
SHOULD I DENOISE BEFORE SNV?
SNV can magnify noise when the true spectral variation is small because normalization divides by the spectrum standard deviation.
If noisy bands dominate the variance, appropriate denoising or band removal may improve stability.
Avoid excessive smoothing that removes genuine spectral features.
SHOULD I REMOVE BAD BANDS FIRST?
Usually, clearly invalid or artifact-dominated bands should not be allowed to determine the mean and standard deviation of a spectrum.
If known bad bands exist, consider removing them before SNV.
Click Apply SNV to normalize every pixel spectrum in the current working hyperspectral cube.
The implementation is vectorized for efficient processing of large numbers of spectra.
The main IDCubePro status changes to Processing during the calculation and returns to Ready when processing finishes.
A progress window reports reshaping, handling non-finite values, calculating statistics, applying normalization, reconstructing the cube, updating the dataset, and refreshing the display.
The normalized cube replaces myData.Images as the active working dataset.
The spatial dimensions, number of spectral bands, and wavelength vector are preserved.
The tool preserves myDataOriginal.
This allows the broader IDCubePro Reset Preprocessing workflow to restore the original dataset when that preserved original is available.
IDCubePro records Standard Normal Variate Correction in processing history.
The history includes the normalization formula, cube dimensions, number of processed spectra, number of constant spectra, and wavelength range when available.
Do not judge SNV only by whether the displayed image looks better.
Inspect representative spectra before and after normalization.
Confirm that meaningful spectral features remain visible and that noisy or nearly constant spectra have not become dominant.
For a valid non-constant SNV spectrum, the mean across spectral bands should be approximately zero, subject to numerical precision.
Check Unit Standard Deviation
For a valid non-constant SNV spectrum, the standard deviation across spectral bands should be approximately one.
These properties provide a simple computational check that SNV was applied as intended.
Because every pixel spectrum is independently centered and scaled, the appearance of individual wavelength images can change substantially.
Changes in image brightness after SNV should not be interpreted as changes in the original physical intensity.
SNV is sometimes used before PCA when nuisance variation in offset and magnitude would otherwise dominate the principal components.
Whether this is beneficial depends on the scientific meaning of that variation.
Compare PCA results with and without SNV when preprocessing choice is uncertain.
SNV can be useful before clustering when clusters should be driven primarily by spectral shape rather than absolute amplitude.
If amplitude differences define meaningful classes, SNV may reduce useful separation.
For Supervised Machine Learning
SNV can improve classification when nuisance scaling differs between samples but relative spectral shape remains class-specific.
However, it can worsen classification when absolute intensity contains predictive information.
Select SNV using validation data, not solely because it is a common spectroscopy preprocessing method.
Training And Prediction Consistency
If a machine-learning model is trained on SNV-normalized spectra, every future spectrum supplied to that model must receive the same SNV preprocessing.
Do not train on raw spectra and predict on SNV spectra, or vice versa.
In quantitative regression, SNV may reduce scatter-related variation but can also remove amplitude information correlated with concentration.
Evaluate predictive error on independent validation data before adopting SNV.
For Biological Or Medical Data
Biological variation may affect both spectral shape and absolute intensity.
Do not assume that intensity variation is merely nuisance variation. Determine whether the removed scale information has biological or clinical meaning.
SNV is frequently used in diffuse reflectance and near-infrared spectroscopy to reduce scatter-related variability.
Reference correction and SNV solve different problems: reference correction addresses instrument/illumination calibration, whereas SNV statistically standardizes each resulting spectrum.
Use additional caution because absolute fluorescence intensity can itself encode concentration, quantum yield, excitation efficiency, photobleaching, or other relevant effects.
SNV may be useful for comparing emission shape, but it removes absolute amplitude information.
Applying SNV repeatedly to already normalized spectra should generally provide little useful benefit and may introduce unnecessary numerical processing.
Use Reset Preprocessing if you need to return to the original cube before testing another preprocessing strategy.
Common Problem - Many Zero Spectra
If the completion dialog reports many constant spectra, inspect the source cube for masked regions, saturated values, empty pixels, invalid bands, or preprocessing that produced constant spectra.
Common Problem - Noise Becomes Prominent
Low-variance spectra can have noise magnified during standardization.
Inspect signal quality and consider appropriate bad-band removal or denoising before SNV.
Common Problem - Class Contrast Decreases
The original class difference may have depended on absolute intensity.
If SNV removes that information, normalized classes can become less separable.
COMMON PROBLEM - RESULTS DIFFER FROM ANOTHER SNV IMPLEMENTATION Check the standard-deviation convention, processing dimension, handling of NaN values, constant spectra, and whether the other implementation normalizes each spectrum independently.
The current IDCubePro implementation uses MATLAB std(X,0,2), meaning standard deviation is calculated across bands for each spectrum using the conventional sample-standard-deviation normalization.
1. Load and inspect the hyperspectral cube.
2. Perform required physical/reference corrections.
3. Remove clearly invalid spectral bands when appropriate.
4. Inspect representative raw spectra.
5. Open Standard Normal Variate.
6. Confirm that relative spectral shape, rather than absolute magnitude, is the desired information.
8. Inspect representative normalized spectra.
9. Check for excessive noise amplification or large numbers of zero spectra.
10. Continue PCA, clustering, classification, or regression using a consistently normalized workflow.
11. Validate whether SNV improves the actual scientific or predictive endpoint.
Record that conventional per-spectrum SNV was used.
Also preserve the wavelength range, bad-band removal, preceding preprocessing, subsequent preprocessing, and validation strategy.
SNV removes statistical offset and scale from each spectrum. It does not identify the physical source of those effects.
A successful-looking normalization does not establish that scattering, thickness, path length, or illumination was the cause of the original variation.
Choose SNV because its assumptions and effects are appropriate for the experiment and because downstream results support its use.
Close Standard Normal Variate help.