The Pseudo-Voigt function is an approximation for the Voigt function, which is a convolution of Gaussian and Lorentzian function. It is often used as a peak profile in powder diffraction for cases where neither a pure Gaussian or Lorentzian function appropriately describe a peak.
Instead of convoluting those two functions, the Pseudo-Voigt function is defined as the sum of a Gaussian peak and a Lorentzian peak
, weighted by a fourth parameter
(values between 0 and 1) which shifts the profile more towards pure Gaussian or pure Lorentzian when approaching 1 or 0 respectively:
Both functions share three parameters: Height (height of the peak at the maximum), PeakCentre (position of the maximum) and FWHM (full width at half maximum of the peak).
Thus the Pseudo-voigt function can be expressed as
where and L’(x, Gamma) are normalized Gaussian and Lorentzian.
And
is FWHM.
In Fullprof notation, is used for FHWM instead of
.
In the code, gamma is used for FWHM in order to avoid confusion with peak height
.
To be in line with it, we prefer to use
for FWHM here.
Pseudo-voigt function in Mantid has the following native parameters
From given FWHM
Gaussian part
where
Lorentzian part
Thus both and
are normalized.
For Gaussian part:
For Lorentzian part:
Peak parameters can be estimated from observation. But some peak parameters are correlated, because peak height is not a basic parameter of Pseudo-voigt.
Here is the summary:
Mixing parameter can be estimated from the observed value of peak’s height, FWHM and intensity.
Before Mantid release v3.14, the equation of Pseudo-Voigt is defined as
This equation has several issues:
The figure below shows data together with a fitted Pseudo-Voigt function, as well as Gaussian and Lorentzian with equal parameters. The mixing parameter for that example is 0.7, which means that the function is behaving more like a Gaussian.
Name | Default | Description |
---|---|---|
Mixing | 0.5 | |
Intensity | 1.0 | |
PeakCentre | 0.0 | |
FWHM | 1.0 |
Categories: FitFunctions | Peak
C++ header: PseudoVoigt.h (last modified: 2020-03-20)
C++ source: PseudoVoigt.cpp (last modified: 2020-03-20)