sablib
Loading...
Searching...
No Matches
baseline.h
Go to the documentation of this file.
1
6
7#ifndef __SABLIB_C_BASELINE_H__
8#define __SABLIB_C_BASELINE_H__
9
10#ifndef __cplusplus
11 #include <stdbool.h>
12#endif
13
14#include "data.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif // __cplusplus
19
32
42
51
61SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineLinear(
62 const SABLIB_DATA_PTR y, const unsigned int index1, const unsigned int index2
63);
64
75SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselinePolynomial(
76 const SABLIB_DATA_PTR y, const unsigned int polyorder, const unsigned int * indices_ptr, const size_t ptr_size
77);
78
88SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineSpline(
89 const SABLIB_DATA_PTR y, const unsigned int * indices_ptr, const size_t ptr_size
90);
91
101SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineSMA(
102 const SABLIB_DATA_PTR y, const unsigned int n, const unsigned int loop
103);
104
116SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineSnip(
117 const SABLIB_DATA_PTR y, const unsigned int m, const bool decreasing,
118 const enum Sablib_SnipPreprocess preprocess, const unsigned int loop
119);
120
131SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineModPoly(
132 const SABLIB_DATA_PTR y, const unsigned int polyorder, const unsigned int loop, const double eps
133);
134
146SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineIModPoly(
147 const SABLIB_DATA_PTR y, const unsigned int polyorder, const double k,
148 const unsigned int loop, const double eps
149);
150
164SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineBackcor(
165 const SABLIB_DATA_PTR y, const unsigned int polyorder, const enum Sablib_BackcorFunc func,
166 const double s, const double alpha, const unsigned int loop, const double eps
167);
168
184SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineGoldindec(
185 const SABLIB_DATA_PTR y, const unsigned int polyorder, const double peak_ratio,
186 const double alpha, const unsigned int loop, const double eps,
187 const unsigned int loop_legend, const double eps_legend, const double eps_s
188);
189
202SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineAsLS(
203 const SABLIB_DATA_PTR y, const double lambda, const double p, const unsigned int s,
204 const unsigned int loop, const double eps
205);
206
218SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineAirPLS(
219 const SABLIB_DATA_PTR y, const double lambda, const unsigned int s,
220 const unsigned int loop, const double eps
221);
222
234SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineArPLS(
235 const SABLIB_DATA_PTR y, const double lambda, const unsigned int s,
236 const unsigned int loop, const double eps
237);
238
252SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselinePsalsa(
253 const SABLIB_DATA_PTR y, const double lambda, const double p, const double k,
254 const unsigned int s, const unsigned int loop, const double eps
255);
256
273SABLIB_EXPORT const SABLIB_BASELINE_DATA_PTR Sablib_BaselineBeads(
274 const SABLIB_DATA_PTR y, const unsigned int s, const double frequency, const double r,
275 const double lambda0, const double lambda1, const double lambda2, const unsigned int loop,
276 const double eps, const enum Sablib_BeadsPenalty penalty
277);
278
287SABLIB_EXPORT const SABLIB_DATA_PTR Sablib_BeadsExpandBoundaries(const SABLIB_DATA_PTR y, const unsigned int n);
288
297SABLIB_EXPORT const SABLIB_DATA_PTR Sablib_BeadsTrimBoundaries(const SABLIB_DATA_PTR y, const unsigned int n);
298
299#ifdef __cplusplus
300}
301#endif // __cplusplus
302
303#endif // __SABLIB_C_BASELINE_H__
SABLIB_EXPORT 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)...
Definition baseline.cpp:106
SABLIB_EXPORT const SABLIB_DATA_PTR Sablib_BeadsTrimBoundaries(const SABLIB_DATA_PTR y, const unsigned int n)
Trims the expanded signal boundaries.
Definition baseline.cpp:373
SABLIB_EXPORT 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).
Definition baseline.cpp:305
SABLIB_EXPORT 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).
Definition baseline.cpp:325
SABLIB_EXPORT 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).
Definition baseline.cpp:265
SABLIB_EXPORT 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.
Definition baseline.cpp:222
SABLIB_EXPORT 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).
Definition baseline.cpp:245
SABLIB_EXPORT 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.
Definition baseline.cpp:159
Sablib_BackcorFunc
Cost function types for the Backcor algorithm.
Definition baseline.h:24
@ AHuber
Definition baseline.h:26
@ Huber
Definition baseline.h:25
@ ATQuad
Definition baseline.h:28
@ Indec
Definition baseline.h:29
@ TQuad
Definition baseline.h:27
@ AIndec
Definition baseline.h:30
Sablib_BeadsPenalty
Penalty types for the BEADS algorithm.
Definition baseline.h:47
@ L1_v1
Definition baseline.h:48
@ L1_v2
Definition baseline.h:49
SABLIB_EXPORT 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.
Definition baseline.cpp:45
SABLIB_EXPORT 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).
Definition baseline.cpp:285
SABLIB_EXPORT 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.
Definition baseline.cpp:357
SABLIB_EXPORT 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.
Definition baseline.cpp:66
SABLIB_EXPORT 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.
Definition baseline.cpp:26
SABLIB_EXPORT 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...
Definition baseline.cpp:179
Sablib_SnipPreprocess
Preprocessing types for the SNIP algorithm.
Definition baseline.h:37
@ LLS
Definition baseline.h:40
@ LL
Definition baseline.h:39
@ None
Definition baseline.h:38
SABLIB_EXPORT 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.
Definition baseline.cpp:140
SABLIB_EXPORT 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.
Definition baseline.cpp:87
Definition of data structures for the C interface of sablib, creation and release of data.