Code Monkey home page Code Monkey logo

pendantss's Introduction

PENDANTSS: PEnalized Norm-ratios Disentangling Additive Noise, Trend and Sparse Spikes

This repository is the official implementation in Matlab for the work on PENDANTSS: PEnalized Norm-ratios Disentangling Additive Noise, Trend and Sparse Spikes (Submitted). Paper Link, Paper Link IEEE, Poster.

Abstract

Denoising, detrending, deconvolution: usual restoration tasks, traditionally decoupled. Coupled formulations entail complex ill-posed inverse problems. We propose PENDANTSS for joint trend removal and blind deconvolution of sparse peaklike signals. It blends a parsimonious prior with the hypothesis that smooth trend and noise can somewhat be separated by lowpass filtering. We combine the generalized pseudo-norm ratio SOOT/SPOQ sparse penalties $\ell_p/\ell_q$ with the BEADS ternary assisted source separation algorithm. This results in a both convergent and efficient tool, with a novel Trust-Region block alternating variable metric forward-backward approach. It outperforms comparable methods, when applied to typically peaked analytical chemistry signals. Reproducible code is provided in this repo.

Structure

This repo contains:

  • main_reproduce_1results.m : Matlab code to reproduce the result for one noise realizations and one case.

  • main_reproduce_all_results.m : Matlab code to reproduce all the comparison results.

  • data folder: the data used for confirming the performance.

  • param folder: hyperparameters used in the codes.

  • functions folder: All functions used.

    • Core functions folder: all the core functions used by PENDANTSS. The core algorithm is SPOQ_BD_quadraFidel.m.
    • baseline related folder: functions related to baseline methods.
    • param search folder: functions for hyperparameter search.
  • results_reproduction_files folder: The codes to run for either parameter search for different cases or for the comparison simulations of different methods in different cases with different noise sampling numbers to average. It also contains some utility code for treating the raw simulation results, and for plotting the simulation results. The files in this folder are listed as below:

  • main_run.m Code to run to reproduce all the comparison results, which uses main_simulation_BD_* and main_treat_simulation_result.m.

  • main_run_simplex_all.m Code to run to look for hyperparameters for all cases, which uses main_simplex_BD_*.

  • Some grid search functions for some parameters main_run_grid_*

  • main_run_plot_simulations.m to plot the simulation results.

  • plot folder: functions to plot the results.

Results

The results will be stored in \path\result\ and after treatment by \path\results_reproduction_files\main_treat_simulation_result.m the statistic of results will be in the folder \path\result\stat .

Parameters effects

Some more extensive results regarding different hyperparameters of the algorithm is shown in here.

To-do

  • Have an end-to-end function to apply the method easily on an other problem.
  • Add comments to all files.
  • Add results with other signals.

Citing PENDANTSS:


@ARTICLE{pendantss,
  author={Zheng, Paul and Chouzenoux, Emilie and Duval, Laurent},
  journal={IEEE Signal Processing Letters}, 
  title={{PENDANTSS: PEnalized Norm-Ratios Disentangling Additive Noise, Trend and Sparse Spikes}}, 
  year={2023},
  volume={30},
  number={},
  pages={215-219},
  doi={10.1109/LSP.2023.3251891}}

pendantss's People

Contributors

paulzhengfr avatar

Stargazers

Laurent Duval avatar Peter Kootsookos avatar

Watchers

 avatar

Forkers

kootsoop

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.