Click or drag to resize

ModifiedSincSmoother Class

Provides smoothing using a modified sinc kernel (MS or MS1), as described by M. Schmid and U. Diebold, "Why and how Savitzky-Golay filters should be replaced". The term degree is defined in analogy to Savitzky-Golay (SG) filters; the current MS filters have a similar frequency response as SG filters of the same degree (2, 4, …, 10).
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.RegressionModifiedSincSmoother

Namespace: Altaxo.Calc.Regression
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3448.0 (4.8.3448.0)
Syntax
C#
public class ModifiedSincSmoother

The ModifiedSincSmoother type exposes the following members.

Constructors
 NameDescription
Public methodModifiedSincSmoother Creates a ModifiedSincSmoother with the given degree and kernel size. This constructor is useful for repeated smoothing operations with the same parameters; then the instance method Smooth(Double, Double) can be used without calculating the kernel and boundary fit weights each time. Otherwise, the static Smooth(Double, Boolean, Int32, Int32) method is more convenient.
Top
Methods
 NameDescription
Public methodStatic memberBandwidthToM Calculates the kernel half-width m that comes closest to the desired bandwidth, i.e. the frequency where the response decreases to -3 dB (i.e. 1/sqrt(2)).
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodStatic memberNoiseGainToM Calculates the kernel half-width m best suited for obtaining a given noise gain.
Public methodStatic memberSavitzkyGolayBandwidth Calculates the bandwidth of a traditional Savitzky-Golay (SG) filter.
Public methodSmooth(Double, Double) Smooths the data with the parameters passed to the constructor, including the near-boundary points. The near-boundary points are handled by weighted linear extrapolation of the data before smoothing.
Public methodStatic memberSmooth(Double, Boolean, Int32, Int32) Smooths the data with the given parameters. When smoothing multiple data sets with the same parameters, using the constructor and then Smooth(Double, Double) will be more efficient.
Public methodSmoothExceptBoundaries Smooths the data with the parameters passed to the constructor, except for the near-end points.
Public methodStatic memberSmoothLikeSavitzkyGolay Smooths the data in a way comparable to a traditional Savitzky-Golay filter with the given parameters degree and m.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Fields
 NameDescription
Public fieldStatic memberMAX_DEGREE The maximum supported filter degree.
Top
Remarks
Reference: Michael Schmid, David Rath, and Ulrike Diebold, "Why and how Savitzky-Golay filters should be replaced", ACS Measurement Science Au 2022 2 (2), 185–196. DOI: 10.1021/acsmeasuresciau.1c00054.
See Also