Pseudo Voigt Curve Class
Definition
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
public class PseudoVoigtCurve : NonlinearCurve- Inheritance
- Object → Curve → NonlinearCurve → PseudoVoigtCurve
Remarks
Use the PseudoVoigtCurve class to represent a five-parameter pseudo-Voigt profile, which is a linear combination of Gaussian and Lorentzian (Cauchy) functions commonly used in spectroscopy and diffraction analysis.
The Voigt profile is the convolution of a Gaussian and a Lorentzian, representing the combined effects of Doppler and pressure broadening. The pseudo-Voigt profile is a computationally efficient approximation that uses a simple weighted sum instead of convolution. It is widely used in X-ray photoelectron spectroscopy (XPS), X-ray diffraction (XRD), and other spectroscopic techniques.
The equation is:
y(x) = A \left[(1-\eta) G(x; \mu, w) + \eta L(x; \mu, w)\right] + Cwhere G is a normalized Gaussian and L is a normalized Lorentzian, both centered at μ with width w.
Parameters:
- A – Peak amplitude (total area under the peak). See Amplitude.
- μ – Peak center (position of maximum). See Center.
- w – Peak width (full width at half maximum). See Width.
- η – Mixing parameter (0 = pure Gaussian, 1 = pure Lorentzian). See MixingParameter.
- C – Baseline offset. See Offset.
Applications:
- X-ray photoelectron spectroscopy (XPS)
- X-ray diffraction (XRD) peak fitting
- Raman spectroscopy
- Nuclear magnetic resonance (NMR)
- Infrared and UV-visible spectroscopy
- Powder diffraction analysis
For details on how to fit a curve of this type, see the NonlinearCurveFitter class.
Constructors
| Pseudo | Constructs a new pseudo-Voigt curve. |
Properties
| Amplitude | Gets or sets the peak amplitude (A). |
| Center | Gets or sets the peak center (μ). |
| Mixing | Gets or sets the mixing parameter (η). |
| Offset | Gets or sets the baseline offset (C). |
| Parameters |
Gets the collection of parameters that determine the shape of this
Curve.
(Inherited from Curve) |
| Width | Gets or sets the peak width (w). |
Methods
| Clone |
Constructs an exact copy of this instance.
(Inherited from Curve) |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
| Fill |
Fills a dense vector with the partial derivatives of the curve with respect to
each of the curve parameters computed using numerical differentiation.
(Inherited from NonlinearCurve) |
| Fill |
Fills a dense vector with the partial derivatives of the curve with respect to
each of the curve parameters.
(Overrides NonlinearCurve.FillPartialDerivatives(Double, DenseVector<Double>)) |
| Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
| Find |
Gets the set of X-coordinates where the curve crosses
the X-axis.
(Inherited from Curve) |
| Get |
Returns a CurveFitter object that can be used to fit the curve to data.
(Inherited from NonlinearCurve) |
| Get |
Returns a Curve that represents the derivative
of this Curve.
(Inherited from Curve) |
| Get | Serves as the default hash function. (Inherited from Object) |
| Get |
Returns a vector containing initial values for the parameters for a curve fit
through the specified data.
(Overrides NonlinearCurve.GetInitialFitParameters(Vector<Double>, Vector<Double>)) |
| Get |
Returns a vector with the partial derivatives
of the curve with respect to each of the curve parameters.
(Inherited from NonlinearCurve) |
| Get | Gets the Type of the current instance. (Inherited from Object) |
| Integral |
Gets the definite integral of the curve between the
specified X-coordinates.
(Inherited from Curve) |
| Memberwise | Creates a shallow copy of the current Object. (Inherited from Object) |
| OnParameter |
Called after a Curve parameter has been changed.
(Inherited from Curve) |
| OnParameter |
Called before the value of a curve parameter is changed.
(Inherited from Curve) |
| Set |
Sets a curve parameter to the specified value.
(Inherited from Curve) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Slope |
Gets the slope of the curve at the specified X-coordinate.
(Overrides Curve.SlopeAt(Double)) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Solve |
Finds the x value where the curve reaches the specified y value.
(Inherited from Curve) |
| Tangent |
Gets the tangent line to the curve at the
specified X-coordinate.
(Inherited from Curve) |
| ToString | Returns a string that represents the current object. (Inherited from Object) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Value |
Gets the Y-value of the curve at the specified X-coordinate.
(Overrides Curve.ValueAt(Double)) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |