27 const SABLIB_DATA_PTR y,
const unsigned int index1,
const unsigned int index2
30 std::vector<double> yy;
36 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
37 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
46 const SABLIB_DATA_PTR y,
const unsigned int polyorder,
const unsigned int * indices_ptr,
const size_t ptr_size
49 std::vector<double> yy;
50 std::vector<unsigned int> indices;
52 indices.assign(indices_ptr, indices_ptr + ptr_size);
57 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
58 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
67 const SABLIB_DATA_PTR y,
const unsigned int * indices_ptr,
const size_t ptr_size
70 std::vector<double> yy;
71 std::vector<unsigned int> indices;
73 indices.assign(indices_ptr, indices_ptr + ptr_size);
78 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
79 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
88 const SABLIB_DATA_PTR y,
const unsigned int n,
const unsigned int loop
91 std::vector<double> yy;
97 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
98 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
107 const SABLIB_DATA_PTR y,
const unsigned int m,
const bool decreasing,
113 std::vector<double> yy;
131 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
132 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
141 const SABLIB_DATA_PTR y,
const unsigned int polyorder,
const unsigned int loop,
const double eps
144 std::vector<double> yy;
150 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
151 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
160 const SABLIB_DATA_PTR y,
const unsigned int polyorder,
const double k,
161 const unsigned int loop,
const double eps
164 std::vector<double> yy;
170 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
171 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
180 const SABLIB_DATA_PTR y,
const unsigned int polyorder,
const enum Sablib_BackcorFunc func,
181 const double s,
const double alpha,
const unsigned int loop,
const double eps
186 std::vector<double> yy;
213 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
214 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
223 const SABLIB_DATA_PTR y,
const unsigned int polyorder,
const double peak_ratio,
224 const double alpha,
const unsigned int loop,
const double eps,
225 const unsigned int loop_legend,
const double eps_legend,
const double eps_s
228 std::vector<double> yy;
232 yy, polyorder, peak_ratio, alpha, loop, eps, loop_legend, eps_legend, eps_s
236 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
237 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
246 const SABLIB_DATA_PTR y,
const double lambda,
const double p,
const unsigned int s,
247 const unsigned int loop,
const double eps
250 std::vector<double> yy;
256 std::copy(result.baseline.begin(), result.baseline.end(), ptr->
baseline.
data);
257 std::copy(result.corrected.begin(), result.corrected.end(), ptr->
corrected.
data);
266 const SABLIB_DATA_PTR y,
const double lambda,
const unsigned int s,
267 const unsigned int loop,
const double eps
270 std::vector<double> yy;
276 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
277 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
286 const SABLIB_DATA_PTR y,
const double lambda,
const unsigned int s,
287 const unsigned int loop,
const double eps
290 std::vector<double> yy;
296 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
297 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
306 const SABLIB_DATA_PTR y,
const double lambda,
const double p,
const double k,
307 const unsigned int s,
const unsigned int loop,
const double eps
310 std::vector<double> yy;
316 std::copy(result.baseline.begin(), result.baseline.end(), ptr->
baseline.
data);
317 std::copy(result.corrected.begin(), result.corrected.end(), ptr->
corrected.
data);
326 const SABLIB_DATA_PTR y,
const unsigned int s,
const double frequency,
const double r,
327 const double lambda0,
const double lambda1,
const double lambda2,
const unsigned int loop,
333 std::vector<double> yy;
348 std::copy(result.baseline.begin(), result.baseline.end(), p->
baseline.
data);
349 std::copy(result.corrected.begin(), result.corrected.end(), p->
corrected.
data);
359 std::vector<double> yy;
365 std::copy(result.begin(), result.end(), p->
data);
375 std::vector<double> yy;
381 std::copy(result.begin(), result.end(), p->
data);
const BaselineResult BaselineAirPLS(const std::vector< double > &y, const double lambda, const unsigned int s, const unsigned int loop, const double eps)
Performs baseline estimation using adaptive iteratively reweighted Penalized Least Squares(airPLS).
Baseline estimation using adaptive iteratively reweighted Penalized Least Squares(airPLS).
const BaselineResult BaselineArPLS(const std::vector< double > &y, const double lambda, const unsigned int s, const unsigned int loop, const double eps)
Performs baseline estimation using asymmetrically reweighted Penalized Least Squares(arPLS).
Baseline estimation using asymmetrically reweighted Penalized Least Squares(arPLS).
const BaselineResult BaselineAsLS(const std::vector< double > &y, const double lambda, const double p, const unsigned int s, const unsigned int loop, const double eps)
Performs baseline estimation using Asymmetric Least Squares Smoothing (AsLS).
Baseline estimation using Asymmetric Least Squares Smoothing(AsLS).
const BaselineResult BaselineBackcor(const std::vector< double > &y, const unsigned int polyorder, const BackcorFunc func, const double s, const double alpha, const unsigned int loop, const double eps)
Performs baseline estimation using iterative polynomial fitting with a non-quadratic cost function (B...
Baseline estimation using iterative polynomial fitting with a non-quadratic cost function(Backcor alg...
BackcorFunc
Cost function types for the Backcor algorithm.
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineSnip(const SABLIB_DATA_PTR y, const unsigned int m, const bool decreasing, const enum Sablib_SnipPreprocess preprocess, const unsigned int loop)
Performs baseline estimation using the Statistics-sensitive Non-linear Iterative Peak-clipping (SNIP)...
const SABLIB_BASELINE_DATA_PTR Sablib_BaselinePsalsa(const SABLIB_DATA_PTR y, const double lambda, const double p, const double k, const unsigned int s, const unsigned int loop, const double eps)
Performs baseline estimation using Peaked Signal’s Asymmetric Least Squares Algorithm (psalsa).
const SABLIB_DATA_PTR Sablib_BeadsTrimBoundaries(const SABLIB_DATA_PTR y, const unsigned int n)
Trims the expanded signal boundaries.
const SABLIB_BASELINE_DATA_PTR Sablib_BaselinePolynomial(const SABLIB_DATA_PTR y, const unsigned int polyorder, const unsigned int *indices_ptr, const size_t ptr_size)
Performs baseline estimation by fitting a polynomial to specified points.
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineAsLS(const SABLIB_DATA_PTR y, const double lambda, const double p, const unsigned int s, const unsigned int loop, const double eps)
Performs baseline estimation using Asymmetric Least Squares Smoothing (AsLS).
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineSMA(const SABLIB_DATA_PTR y, const unsigned int n, const unsigned int loop)
Performs background estimation using a simple moving average.
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineSpline(const SABLIB_DATA_PTR y, const unsigned int *indices_ptr, const size_t ptr_size)
Performs baseline estimation using cubic spline interpolation.
const SABLIB_DATA_PTR Sablib_BeadsExpandBoundaries(const SABLIB_DATA_PTR y, const unsigned int n)
Expands the signal boundaries by padding with a tapered sequence.
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineAirPLS(const SABLIB_DATA_PTR y, const double lambda, const unsigned int s, const unsigned int loop, const double eps)
Performs baseline estimation using adaptive iteratively reweighted Penalized Least Squares(airPLS).
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineIModPoly(const SABLIB_DATA_PTR y, const unsigned int polyorder, const double k, const unsigned int loop, const double eps)
Estimates the baseline using the Improved Modified Polynomial (IModPoly) method.
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineLinear(const SABLIB_DATA_PTR y, const unsigned int index1, const unsigned int index2)
Performs baseline estimation with a linear line between two points.
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineArPLS(const SABLIB_DATA_PTR y, const double lambda, const unsigned int s, const unsigned int loop, const double eps)
Performs baseline estimation using asymmetrically reweighted Penalized Least Squares(arPLS).
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineBackcor(const SABLIB_DATA_PTR y, const unsigned int polyorder, const enum Sablib_BackcorFunc func, const double s, const double alpha, const unsigned int loop, const double eps)
Performs baseline estimation using iterative polynomial fitting with a non-quadratic cost function (B...
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineBeads(const SABLIB_DATA_PTR y, const unsigned int s, const double frequency, const double r, const double lambda0, const double lambda1, const double lambda2, const unsigned int loop, const double eps, const enum Sablib_BeadsPenalty penalty)
Performs baseline estimation and denoising using Sparsity (BEADS).
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineModPoly(const SABLIB_DATA_PTR y, const unsigned int polyorder, const unsigned int loop, const double eps)
Estimates the baseline using the Modified Polynomial (ModPoly) method.
const SABLIB_BASELINE_DATA_PTR Sablib_BaselineGoldindec(const SABLIB_DATA_PTR y, const unsigned int polyorder, const double peak_ratio, const double alpha, const unsigned int loop, const double eps, const unsigned int loop_legend, const double eps_legend, const double eps_s)
Performs baseline estimation using the Goldindec algorithm.
The C interface of sablib baseline estimation functions.
Sablib_BackcorFunc
Cost function types for the Backcor algorithm.
Sablib_BeadsPenalty
Penalty types for the BEADS algorithm.
Sablib_SnipPreprocess
Preprocessing types for the SNIP algorithm.
const std::vector< double > BeadsTrimBoundaries(const std::vector< double > &y, const unsigned int n)
Trims the expanded signal boundaries.
const BaselineResult BaselineBeads(const std::vector< double > &y, const unsigned int s, const double frequency, const double r, const double lambda0, const double lambda1, const double lambda2, const unsigned int loop, const double eps, const BeadsPenalty penalty)
Performs baseline estimation and denoising using Sparsity (BEADS).
const std::vector< double > BeadsExpandBoundaries(const std::vector< double > &y, const unsigned int n)
Expands the signal boundaries by padding with a tapered sequence.
Baseline estimation and subtraction using Baseline Estimation And Denoising using Sparsity(BEADS).
BeadsPenalty
Penalty types for the BEADS algorithm.(see Table 1 in Duval's paper).
const SABLIB_DATA_PTR AllocSablibData(const size_t size)
Allocates a SABLIB_DATA structure.
const SABLIB_BASELINE_DATA_PTR AllocSablibBaselineData(const size_t size)
Allocates a SABLIB_BASELINE_DATA structure.
const BaselineResult BaselineGoldindec(const std::vector< double > &y, const unsigned int polyorder, double peak_ratio, const double alpha, const unsigned int loop, const double eps, const unsigned int loop_legend, const double eps_legend, const double eps_s)
Performs baseline estimation using the Goldindec algorithm.
Baseline estimation using the Goldindec algorithm.
const BaselineResult BaselineIModPoly(const std::vector< double > &y, const unsigned int polyorder, const double k, const unsigned int loop, const double eps)
Estimates the baseline using the Improved Modified Polynomial (IModPoly) method.
Baseline estimation using Improved Modified Polynomial(IModPoly) method.
const BaselineResult BaselineModPoly(const std::vector< double > &y, const unsigned int polyorder, const unsigned int loop, const double eps)
Estimates the baseline using the Modified Polynomial (ModPoly) method.
Baseline estimation using Modified Polynomial(ModPoly) method.
const BaselineResult BaselineLinear(const std::vector< double > &y, const unsigned int index1, const unsigned int index2)
Performs baseline estimation with a linear line between two points.
const BaselineResult BaselinePolynomial(const std::vector< double > &y, const unsigned int polyorder, const std::vector< unsigned int > &indices)
Performs baseline estimation by fitting a polynomial to specified points.
Baseline estimation with polynomial line.
const BaselineResult BaselinePsalsa(const std::vector< double > &y, const double lambda, const double p, const double k, const unsigned int s, const unsigned int loop, const double eps)
Performs baseline estimation using Peaked Signal’s Asymmetric Least Squares Algorithm (psalsa).
Baseline estimation using Peaked Signal’s Asymmetric Least Squares Algorithm(psalsa).
const BaselineResult BaselineSMA(const std::vector< double > &y, const unsigned int n, const unsigned int loop)
Performs background estimation using a simple moving average.
Baseline estimation using simple moving average.
const BaselineResult BaselineSnip(const std::vector< double > &y, const unsigned int m, const bool decreasing, const SnipPreprocess preprocess, const unsigned int loop)
Performs baseline estimation using the Statistics-sensitive Non-linear Iterative Peak-clipping (SNIP)...
Baseline estimation using Statistics-sensitive Non-linear Iterative Peak-clipping(SNIP).
SnipPreprocess
Preprocessing types for the SNIP algorithm.
const BaselineResult BaselineSpline(const std::vector< double > &y, const std::vector< unsigned int > &indices)
Performs baseline estimation using cubic spline interpolation.
Baseline estimation from cubic spline.