Hyperspectral unmixing and denoising

Demo of hyperspectral unmixing in the presence of mixed noise.
1.2K Downloads
Updated 26 Jun 2016

View License

Thank you for downloading our code for hyperspectral unmixing and denoising.
--------------------------------------------------------
What this code do:
This code demonstrates Hyperspectral unmixing algorithm when the image is contaminated by mixed noise.
This code also reduces noise. Noise can include line strips, Gaussian noise, and impulse noise.
It solves following optimization problem :
min_A,S ||Y-MA-S||_F^2 + lamda1*||Dh*A'||_2,1 + lambda1 *||Dv*A'||_1 + lamda2 ||S||_1 + lambda3 ||A||_{2,1}
M : mixing matrix. It is the matrix containing spectral signatures of endmembers;
Y : Noisy hyperspectral image. This is the image sent to the ​unmixing algorithm.
A : Abundance matrix.
S : sparse noise. It represents impulse noise as well as line strips.
Dh, Dv : Two-dimensional horizontal and vertical finite difference operators.
------------------------------------------------------------------------
Reference Paper

Hyperspectral Unmixing in the Presence of Mixed Noise using Joint-Sparsity and Total-Variation
by Hemant Kumar Aggarwal, Angshul Majumdar, in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing (JSTARS), 2016
IEEExplore link : http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7414394

Paper PDF is available from author's homepage for academic/personal use only.
Homepage link : https://www.iiitd.edu.in/~hemanta/

-----------------------------------------------------------------------------------
How to Run this code:

Put both the files in the same folder and just run the "demo.m" file.

The code runs for around 10 seconds. After that, it shows five original abundance maps as well as
reconstructed abundance maps.

It will also show original image, noisy image and denoised image in the output.

It also gives PSNR values for the denoised image as well as reconstructed abundance maps.

--------------------------------
File Description :

demo.m : Simply run this file to see how the code works. It contains all the code.
abundance.mat : This file contains ground-truth abundance maps.
ReadMe.txt : This file

Put both the files in the same folder and then run the demo code.

--------------------------------------------------------------------
Contact Information:

This code is released just to promote reproducible research and is not very robust.
If you face difficulty in running this code, then please feel free to contact us.

Contact Name : Hemant Kumar Aggarwal
Email : jnu.hemant@gmail.com

Cite As

Hemant Kumar Aggarwal (2024). Hyperspectral unmixing and denoising (https://www.mathworks.com/matlabcentral/fileexchange/56831-hyperspectral-unmixing-and-denoising), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

UnmixingCode/

Version Published Release Notes
1.2.0.0

One error has been corrected. Thanks to Michael Ge.

1.1.0.0

small change in description.

1.0.0.0