No description, website, or topics provided.
Matlab
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Dictionaries
README.md
SPSR.m
SolveLasso.m
demo_SPSR.m
lin_scale.m
myPSNR.m

README.md

Spectral Super Resolution of Hyperspectral Images

Code for Spectral Super Resolution of Hyperspectral Images

Table of contents

  1. Introduction
  2. Dependencies
  3. Execution

Introduction

This repository contains MATLAB codes and scripts designed for the spectral super-resolution of hyperspectral data. The proposed approach synthesizes a high spectral resolution 3D data cube from its acquired low resolution form, by capitalizing on the Sparse Representations (SR) learning framework. According to the SR framework, various low and high-spectral resolution datacubes can be represented as sparse linear combinations of elements from learned over-complete dictionaries.

Dependencies

Dataset

  • The performance of the proposed spectral super-resolution scheme, is quantified using EO-1 NASA's Hyperion satellite hyperspectral Earth Observation scenes. Due to its high spectral coverage, Hyperion scenes have been widely utilized in the remote sensing community for classification and spectral unmixing purposes. We considered hyperspectral scenes of the Hawaii island, acquired on August 30, 2015, and utilized 67 spectral bands in the visible and near infrared spectrum range, from 436.9 to 833.83 nm.

Dictionaries

  • Regarding the dictionary training phase, we designed coupled dictionaries that model both the high and the low spectral resolution feature spaces, based on a ADMM Sparse Coupled Dictionary Learning scheme.

  • We trained 512 representative dictionary atoms from 100.000 couples of training low and high spectral resolution datacubes.

  • We have experimented with variant sub_sampling factors: x2, x3,x4

In order to run the code, the testing 3D datacube must be downloaded:

  • This link provides the sample data: link

The testing hypercube should be placed in the same folder with the source code

Execution

The primary function is SPSR.m which is designed to take a 3D data cube, the coupled dictionaries, a sparsity regularization parameter , and the sub-sampling factor, and attemp to reconstruct the high-spectral resolution hypercube.

Input Arguments

  • test_cube_small: Input hypercube

  • D_high : High spectral resolution dictionary

  • D_low : Low spectral resolution dictioanary

  • lambda : sparsity regularization parameter

  • lin_p : parameter that controls the amount of contrast of the reconstructed hyper-pixels.

  • full_bands : total number of spectral bands

  • sub_sampling : sub-sampling factor

Output Arguments

  • full_bands_admm : Estimated high-spectral resolution hypercube

The primary script that loads the data, the dictionaries and provides visual results of the reconstructed spectral profiles is demo_SPSR.m

In the demo_SPSR.m, we reconstruct the high spectral resolution hypercube, from the correspondent low-spectral resolution 3D data cube.