pybaselines.Baseline.ria
- Baseline.ria(data, half_window=None, max_iter=500, tol=0.01, side='both', width_scale=0.1, height_scale=1.0, sigma_scale=0.08333333333333333, pad_kwargs=None, **kwargs)[source]
Range Independent Algorithm (RIA).
Adds additional data to the left and/or right of the input data, and then iteratively smooths until the area of the additional data is removed.
- Parameters:
- dataarray_like, shape (N,)
The y-values of the measured data, with N data points.
- half_window
int, optional The half-window to use for the smoothing each iteration. Should be approximately equal to the full-width-at-half-maximum of the peaks or features in the data. Default is None, which will use the output of
optimize_window(), which is not always a good value, but at least scales with the number of data points and gives a starting point for tuning the parameter.- max_iter
int, optional The maximum number of iterations. Default is 500.
- tol
float, optional The exit criteria. Default is 1e-2.
- side{'both', 'left', 'right'}, optional
The side of the measured data to extend. Default is 'both'.
- width_scale
float, optional The number of data points added to each side is width_scale * N. Default is 0.1.
- height_scale
float, optional The height of the added Gaussian peak(s) is calculated as height_scale * max(data). Default is 1.
- sigma_scale
float, optional The sigma value for the added Gaussian peak(s) is calculated as sigma_scale * width_scale * N. Default is 1/12, which will make the Gaussian span +- 6 sigma, making its total width about half of the added length.
- pad_kwargs
dict, optional A dictionary of keyword arguments to pass to
pad_edges()for padding the edges of the data when adding the extended left and/or right sections.- **kwargs
Deprecated since version 1.2.0: Passing additional keyword arguments is deprecated and will be removed in version 1.4.0. Pass keyword arguments using pad_kwargs.
- Returns:
- baseline
numpy.ndarray, shape (N,) The calculated baseline.
- params
dict A dictionary with the following items:
- 'tol_history': numpy.ndarray
An array containing the calculated tolerance values for each iteration. The length of the array is the number of iterations completed. If the last value in the array is greater than the input tol value, then the function did not converge (if the array length is equal to max_iter) or the areas of the smoothed extended regions exceeded their initial areas (if the array length is < max_iter).
- baseline
- Raises:
ValueErrorRaised if side is not 'left', 'right', or 'both'.
References
Krishna, H., et al. Range-independent background subtraction algorithm for recovery of Raman spectra of biological tissue. J Raman Spectroscopy. 2012, 43(12), 1884-1894.