Fit the baseline drift by iteratively changing weights of sum square error between the fitted baseline and original signals, for further information about the parameters you can get the paper of airPLS

airPLS(x: Array<number>, y: Array<number>, options: object): {corrected: Array<number>, error: number, iteration: number, baseline: Array<number>}
Parameters
x (Array<number>) x axis data useful when control points or zones are submitted
y (Array<number>) Original data
options (object = {}) Options object
Name Description
options.maxIterations number (default 100) Maximal number of iterations if the method does not reach the stop criterion
options.tolerance number (default 0.001) Factor of the sum of absolute value of original data, to compute stop criterion
options.weights Array<number> (default [1,1,...]) Initial weights vector, default each point has the same weight
options.lambda number (default 100) Factor of weights matrix in -> [I + lambda D'D]z = x
options.controlPoints Array<number> (default []) Array of 0|1 to force the baseline cross those points.
options.zones Array<number> (default []) Array of x axis values (as from - to), to force that baseline cross those zones.
Returns
{corrected: Array<number>, error: number, iteration: number, baseline: Array<number>}: