Special tools - Peak Fitting
Posted on Sun 26 June 2022 in Scientific software/Special Tools - Peak Fitting
Peak Fitting / XPS analysis
XPS: can be done with peakfit. http://xpspeak.software.informer.com/4.1/ Here you can constrain very nicely many parameters. I downloaded the file from there and you can find it at the end of this page. Also I downloaded the manual from from https://www2.warwick.ac.uk/fac/sci/physics/research/condensedmatt/surface/exp/xps/links/xpspeak_manual.doc and offer it at the end of this page.
At Lund University we have a campus license for CASA XPS - contact me for help with this.
The mayor data analysis tools have their own fitting routines build in, but often it is very desirable to have a a tool where beside background also many of the fitting parameters can easily linked and controlled. I found 3 tools up to now and all are actually developed for XPS fitting:
XPSfit http://www.sljus.lu.se/download.html
EWA http://wxewa.sourceforge.net/
XPSPEAK http://www.uksaf.org/xpspeak41.zip (this webpage is down now and I provide the files on the previous page!) I also found an interesting module with name eXPFit for Excel that allows peak fitting http://www.chem.qmul.ac.uk/software/eXPFit.htm i found this the most versatile software package, since you can lock and unlock parameters during the reduction and have full control over most parameters
this is a very fast and easy peak fitting tool with a strong interface to python, it however does not allow for easy parameter linking and fix http://lorentz.sourceforge.net/
This tool is based on labview seams to be pretty powerful (I didn;t test it yet!). However you need to have labview installed: http://spectools.sourceforge.net/
some general curve fitting tools can be useful here too, After some testing it is very powerful, even if the parameter locking is difficult: http://sourceforge.net/projects/fityk/
At a certain time I would however recommend to use a real coding language liek python and the very nice fitting routines in there. For peak fitting I found these modules very useful http://pythonhosted.org/PeakUtils/ a small project that focuses on finding peak positions and doe some quick an dirty fitting of gaussians
Otherwise you will want to look on lmfit https://lmfit.github.io/lmfit-py/builtin_models.html this module does not only offer fitting with any method that sipy.optimise offers, but also has the the parameter object that allows very easy linking, fixing of parameter.
There has been some guis developed for a more comfortable use of lmfit,
this package contains a module that seems useful (not tested yet) http://nexpy.github.io/nexpy/pythongui.html
mQfit is another attempt (not tested) for general data fittng https://forge.epn-campus.eu/projects/software/wiki
as seems the lpbuilder to be https://github.com/thriveth/lpbuilder