Rubberband baseline correction I am trying to code the method called "Rubber-band baseline correction" for baseline correction of vibrationnal spectra.
Could somebody please, explain me how does this method works? or provide any document which explains about this method?
Thank you a lot in advance.
 A: [EDIT:20190107 Added a 2018 refrence] As I cannot trace a genuine reference to the said  "Rubber-band baseline correction". The mention appears in different sources with more or less details, like in:


*

*Study on baseline correction methods for the Fourier transform infrared spectra with different signal-to-noise ratios, 2018, Applied Optics



Removing the baseline from the spectra, which are measured by a
  Fourier transform infrared spectrometer (FTIR), is an important
  preprocessing step for further spectra analysis such as quantitative
  and qualitative analysis. An automatic baseline correction method
  named iterative averaging, which is based on the basic knowledge of
  moving average, is presented. We also compared it to other methods,
  such as rubber band, adaptive iterative reweight penalized least
  squares, automatic iterative moving average, and morphological
  weighted penalized least squares, using simulated and experimental
  spectra with different signal-to-noise ratios (SNRs) to evaluate the
  performance of these methods by performance metrics and to select an
  appropriate method to analyze FTIR spectra. Performance metrics such
  as root-mean-square error, goodness-of-fit coefficient, and chi-square
  are calculated. The iterative averaging method achieves the best
  results, which are judged by performance metrics values, when it is
  applied to the FTIR spectra with different SNRs. It also can correct
  the baseline of the FTIR spectra automatically, and improve the
  capability and adaptability of the unsupervised online analysis of the
  FTIR system effectively.



*

*Discussion on the R hyperSpec package Fitting Baselines to Spectra, "section 3: Rubberband Method".



spc.rubberband, a “rubberband” method that determines support points
  by finding the convex hull of each spectrum. The baselines are then
  piecewise linear or (smoothing) splines through the support points.

A closer contender could be found in Matlab with


*

*%HYPERCONVEXHULLREMOVAL Performs spectral normalization via convex hull removal from MATLAB Hyperspectral Toolbox

*and a recent discussion in How to implement concave rubberband correction for baseline removal in Matlab?
Additionally, the topic of baseline/background/continuum/drift removal was recently active at SE.DSP (Signal Processing Stack Exchange):


*

*How to perform a Rubberband-Correction on spectroscopic data?

*Removing baseline drift from ECG signal

*Chromatography Baseline Placement

*Decomposition of a signal to slow and fast components

*Cancel Drift after numerical integration

*Removing baseline drift from ECG signal

*Plotted ECG signals are not around Amplitude 0 line
