Demeter

Description Perl tools for X-ray Absorption Spectroscopy
Demeter > Perl Modules > Demeter::PeakFit::Fityk
Source

NAME

Demeter::PeakFit::LineShape - A lineshape object for peak fitting in Demeter

VERSION

This documentation refers to Demeter version 0.9.26.

SYNOPSIS

DESCRIPTION

METHODS

LINESHAPES

These are Fityk's built in lineshapes. Note that the format of this document section is parsed by the reporting methods of this object.

Constant(a=avgy)
 a
Linear(a0=intercept,a1=slope)
 a0 + a1 * x
Quadratic(a0=avgy, a1=0, a2=0)
 a0 + a1*x + a2*x^2
Cubic(a0=avgy, a1=0, a2=0, a3=0)
 a0 + a1*x + a2*x^2 + a3*x^3
Polynomial4(a0=avgy, a1=0, a2=0, a3=0, a4=0)
 a0 + a1*x + a2*x^2 + a3*x^3 + a4*x^4
Polynomial5(a0=avgy, a1=0, a2=0, a3=0, a4=0, a5=0)
 a0 + a1*x + a2*x^2 + a3*x^3 + a4*x^4 + a5*x^5
Polynomial6(a0=avgy, a1=0, a2=0, a3=0, a4=0, a5=0, a6=0)
 a0 + a1*x + a2*x^2 + a3*x^3 + a4*x^4 + a5*x^5 + a6*x^6
Gaussian(height, center, hwhm)
 height*exp(-ln(2)*((x-center)/hwhm)^2)
SplitGaussian(height, center, hwhm1=fwhm*0.5, hwhm2=fwhm*0.5)
 if x < center then Gaussian(height, center, hwhm1)else Gaussian(height, center, hwhm2)
Lorentzian(height, center, hwhm)
 height/(1+((x-center)/hwhm)^2)
Pearson7(height, center, hwhm, shape=2)
 height/(1+((x-center)/hwhm)^2*(2^(1/shape)-1))^shape
SplitPearson7(height, center, hwhm1=fwhm*0.5, hwhm2=fwhm*0.5, shape1=2, shape2=2)
 if x < center then Pearson7(height, center, hwhm1, shape1) else Pearson7(height, center, hwhm2, shape2)
PseudoVoigt(height, center, hwhm, shape=0.5)
 height*((1-shape)*exp(-ln(2)*((x-center)/hwhm)^2)+shape/(1+((x-center)/hwhm)^2))
Voigt(height, center, gwidth=fwhm*0.4, shape=0.1)
 convolution of Gaussian and Lorentzian #
VoigtA(area, center, gwidth=fwhm*0.4, shape=0.1)
 convolution of Gaussian and Lorentzian #
EMG(a=height, b=center, c=fwhm*0.4, d=fwhm*0.04)
 a*c*(2*pi)^0.5/(2*d) * exp((b-x)/d + c^2/(2*d^2)) * (abs(d)/d - erf((b-x)/(2^0.5*c) + c/(2^0.5*d)))
DoniachSunjic(h=height, a=0.1, F=1, E=center)
 h * cos(pi*a/2 + (1-a)*atan((x-E)/F)) / (F^2+(x-E)^2)^((1-a)/2)
PielaszekCube(a=height*0.016, center, r=300, s=150)
 ...#
LogNormal(height, center, width=fwhm, asym = 0.1)
 height*exp(-ln(2)*(ln(2.0*asym*(x-center)/width+1)/asym)^2)
Spline()
 cubic spline #
Polyline()
 linear interpolation #
ExpDecay(a=0, t=1)
 a*exp(-x/t)
GaussianA(area, center, hwhm)
 Gaussian(area/hwhm/sqrt(pi/ln(2)), center, hwhm)
LogNormalA(area, center, width=fwhm, asym=0.1)
 LogNormal(sqrt(ln(2)/pi)*(2*area/width)*exp(-asym^2/4/ln(2)), center, width, asym)
LorentzianA(area, center, hwhm)
 Lorentzian(area/hwhm/pi, center, hwhm)
Pearson7A(area, center, hwhm, shape)
 Pearson7(area/(hwhm*exp(lgamma(shape-0.5)-lgamma(shape))*sqrt(pi/(2^(1/shape)-1))), center, hwhm, shape)
PseudoVoigtA(area, center, hwhm, shape)
 GaussianA(area*(1-shape), center, hwhm) + LorentzianA(area*shape, center, hwhm)
SplitLorentzian(height, center, hwhm1, hwhm2)
 x < center ? Lorentzian(height, center, hwhm1) : Lorentzian(height, center, hwhm2)
SplitPseudoVoigt(height, center, hwhm1, hwhm2, shape1, shape2)
 x < center ? PseudoVoigt(height, center, hwhm1, shape1) : PseudoVoigt(height, center, hwhm2, shape2)
SplitVoigt(height, center, hwhm1, hwhm2, shape1, shape2)
 x < center ? Voigt(height, center, hwhm1, shape1) : Voigt(height, center, hwhm2, shape2)

LINESHAPES DEFINE BY DEMETER

These are lineshapes defined by Demeter

Atan(step=1, e0=0, width=0)
  step*[atan((x-E0)/width)/pi + 0.5]
Erf(step=0.5, e0=0, width=0)
  step*(erf((x-e0)/width) + 1)

CONFIGURATION AND ENVIRONMENT

See Demeter::Config for a description of the configuration system.

DEPENDENCIES

Demeter's dependencies are in the Build.PL file.

BUGS AND LIMITATIONS

Please report problems to the Ifeffit Mailing List (http://cars9.uchicago.edu/mailman/listinfo/ifeffit/)

Patches are welcome.

AUTHOR

Bruce Ravel, http://bruceravel.github.io/home

http://bruceravel.github.io/demeter/

LICENCE AND COPYRIGHT

Copyright (c) 2006-2018 Bruce Ravel (http://bruceravel.github.io/home). All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlgpl.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.