Maximum Noise Fraction Transform

Command: Preprocessing > Noise Reduction (MNF Transform)

The command Preprocessing>Noise Reduction (MNF Transform) supports the removal of noise by means of MNF (maximum noise fraction) transform as it has been introduced by Green et al. in 1988

The processing of the image data by MNF transform is a three-step process: (1) you have to analyse the dataset, (2) you have to select the desired components for the back transformation and test this back transformation, and (3) you have to replace the original dataset by the filtered data.

Hint: A fair warning at first: MNF transform works quite well if the structure of the noise is estimated correctly. If it is impossible or difficult to create a correct estimate of the noise structure, the results will be poor, resulting in artifacts which may hamper the following analysis of the image.1) So be careful when applying MNF transform. Further, in many cases dedicated algorithms for noise reduction (e.g. the spike removal tool) often provide more reliable and better results.


ImageLab provides the following options for estimating the noise structure:

  • vertical stripes: it is assumed that the main part of noise is due to significant and constant differences in neighboring image columns (which may, for example, arise from a defective push broom detector).
  • horizontal stripes: the main part of noise is due to significant and constant differences in subsequent image rows (which may, for example, arise from a defective push broom detector).
  • salt & pepper noise: this is typically a single pixel noise which offsets the spectrum of a pixel or parts of it by a (small) random value
  • background pixel mask: if you know which pixels contain noise exclusively, you can define these pixels in a pixel mask.

Hint: As the MNF transform is based on the signal covariance divided by the noise covariance, images exhibiting only a small amount of noise will result in an abort of the calculations (if the noise covariance matrix is near-singular).

How To: Follow these steps to reduce noise by means of the maximum noise fraction transform:
  1. Select the expected noise structure. If you don't have any idea of the noise structure, select "salt & pepper noise".
  2. Click the button "MNF Analysis". This may take some time to complete (several minutes for larger images).
  3. Browse the noise fraction list to identify all components which contain signficant amounts of non-noise signals.
  4. Select all components exibiting non-noise signal parts.
  5. Start the inverse MNF transform.
  6. Compare the original image with the denoised image at several wavelengths by clicking the button "Compare Filtered/Original".
  7. If you are satisfied with the result click the Apply button. This will copy the current intermediate result into the data cube. If not, go back and change the component selection, or re-analyze the image using a different expected noise structure.


1) MNF transform is only meaningful with spectra which exhibit some correlation of neighboring bands. See Green 1988 for details.

Hint: The time-consuming parts of the MNF algorithm are prepared to be executed in parallel on multi-core processors. The increase in speed corresponds roughly to the number of CPU cores in your system (a four core system will be faster by a factor of 4). You can fine-tune the assigned processing power in the preferences of the program (see the option Allowed CPU Usage in Multiprocessor Systems).

Last Update: 2017-Mai-07