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++ source: PseudoVoigt.cpp (last modified: 2019-06-04)
C++ header: PseudoVoigt.h (last modified: 2019-05-01)