spectrochempy.savgol
- savgol(dataset, size=5, order=2, **kwargs)[source]
Savitzky-Golay filter.
Wrapper of scpy.signal.savgol(). See the documentation of this function for more details.
- Parameters:
dataset (
NDDataset
or array-like of shape (n_observations
,n_features
)) – Input data, where n_observations is the number of observations and n_features is the number of features.size (
positiveoddinteger
, optional, default: 5) – The size of the filter window.size must be a positive odd integer.order (
int
, optional, default=2) – The order of the polynomial used to fit the data.order
must be less than size.**kwargs (keyword parameters, optional) – See Other Parameters.
- Returns:
NDDataset
– Smoothed data.- Other Parameters:
dim (
int
orstr
, optional, default: -1,) – Dimension along which the method is applied. By default, the method is applied to the last dimension. Ifdim
is specified as an integer it is equivalent to the usualaxis
numpy parameter.deriv (
int
, optional, default: 0) – The order of the derivative to compute in the case of the Savitzky-Golay (savgol) filter. This must be a non-negative integer. The default is 0, which means to filter the data without differentiating.delta (
float
, optional, default: 1.0) – The spacing of the samples to which the filter will be applied. This is only used if deriv > 0.mode (any value of [
'mirror'
,'constant'
,'nearest'
,'wrap'
,'interp'
], optional, default:'interp'
) – The type of extension to use for the padded signal to which the filter is applied.When mode is ‘constant’, the padding value is given by
cval
.When the ‘interp’ mode is selected (the default), no extension is used. Instead, a polynomial of degree
order
is fit to the lastsize
values of the edges, and this polynomial is used to evaluate the last window_length // 2 output values.When mode is ‘nearest’, the last size values are repeated.
When mode is ‘mirror’, the padding is created by reflecting the signal about the end of the signal.
When mode is ‘wrap’, the signal is wrapped around on itself to create the padding.
See
scipy.signal.savgol_filter
for more details on ‘mirror’, ‘constant’, ‘wrap’, and ‘nearest’.cval (
float
, optional, default: 0.0) – Value to fill past the edges of the input ifmode
is ‘constant’.log_level (any of [
"INFO"
,"DEBUG"
,"WARNING"
,"ERROR"
], optional, default:"WARNING"
) – The log level at startup. It can be changed later on using theset_log_level
method or by changing thelog_level
attribute.
See also
Notes
Even spacing of the axis coordinates is NOT checked. Be aware that Savitzky-Golay algorithm is based on indexes, not on coordinates.