Line-by-line noise removal of hyperspectral images using an algorithm based on the MNF transform.
If you use this software, we would be grateful if you could cite the following paper:
Underlying theory can be found in the same reference.
mnf
is run from the command line. ./mnf filename --option1 --option2...
, or mnf.exe filename --option1 --option2 ...
. See ./mnf --help
for
options. BIL-interleaved ENVI images are assumed.
The line-by-line algorithm is run when the --line-by-line option
is set. When
it is not set, the ordinary MNF transform is run.
The conventional MNF transform is based on Green, A. A., Berman, M., Switzer, P., and Craig, M. D., "A transformation for ordering multispectral data in terms of image quality with implications for noise removal", IEEE Transactions on Geoscience and Remote Sensing 26(1), pp. 65-74 (1988).
This application is built using CMake, producing mnf
, the main application executable, and libmnf
, for using the algorithms in other applications.
mkdir build
cd build
cmake ..
make
make install
The output of cmake ..
should give indication of missing libraries or the need to
add libraries to the CMakeLists.txt
file.
This program requires a LAPACKE and BLAS implementation.
MKL can be enabled over the standard BLAS implementations available on the system by running cmake -DUSE_MKL_LIBRARIES=True ..
and rebuilding.
GNU Regex is required for src/readimage.cpp.