No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Code for Denoising of Spectroscopic Data

Table of contents

  1. Introduction
  2. Dependencies
  3. Execution


This repository contains MATLAB codes and scripts designed for the denoising of spectroscopic data. The proposed approach synthesizes a denoised spectral profile from its corresponding noisy acquired version by capitalizing on the Sparse Representations (SR) learning framework. According to the SR framework, various spectral profiles can be represented as sparse linear combinations of elements from learned over-complete dictionaries.



  • The dataset contains simulated cosmological data modeled after the upcoming Euclid satellite galaxy survey.

  • Specifically, the dataset contains 13709 examples of full spectral energy distribution (SED) of galaxies, each one encoding the spectral profile over 3750 wavelengths 1.1 - 2.0 micrometers.

  • We utilized 7000 examples for training the coupled dictionaries and evaluate the performance of the proposed method on the remaining examples.

Noise Conditions

  • High SNR: the peak of an Ha line at Euclid's flux limit has 3.5 sigma.

  • Medium SNR: the integrated Ha flux at Euclid's flux limit has 3.5 sigma. This is the official survey specification.

  • Low SNR: the integrated Ha flux at Euclid's flux limit is at noise level (sigma = 1).

In this example, we experiment with medium SNR noise conditions.


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

  • We trained 5000 representative dictionary atoms from 7000 couples of training spectral templates.

In order to run the code, both the data and the dictionaries must be downloaded:

  • This link provides the sample data: link

  • This link contains the coupled dictionaries, that are utilized for the sparse decomposition. link

Both the data and the dictionaries should be placed in the same folder


The primary function is Sc-Denoising.m which is designed to take a sequence of observed, degraded spectral profiles, the coupled dictionaries, and a sparsity regularization parameter , and attemp to reconstruct the high-resolution spectral profiles.

Input Arguments

  • Mid_SNR_Noisy_region_of_interest: Input noisy testing spectral profiles

  • D_clean : Clean, high resolution dictionary

  • D_noisy : Noisy, low resolution dictioanary

  • lambda : sparsity regularization parameter

Output Arguments

  • reconstructed_signal_from_Mid_SNR : Output, denoised spectral profiles

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

In the demo.m, we reconstruct the denoised spectral profiles from Medium SNR noise conditions.