Skip to main content

peaky fits a single peak to a lorentian, gaussian or voift profile

Project description

The package peaky allows the user to fit a single peak to a Gaussian, Lorentian or Voigt profile.

Basic Example

Here is a basic way to fit your data to a Voigt profile:

import peaky
peaky.fit_voigt(x, y)

here x and y are respectively the independent and dependent variable. The data should contain a single peak, not larger then the data set. If instead you would like to specifically fit the data to a gaussian or a lorentian profile, use one of these two functions instead:

peaky.fit_gaussian(x, y)
peaky.fit_lorentian(x, y)

Parameters

These are all other parameters of the fit_voigt function:

  • background It sets the order of the polynomial to helps the fit adapt to a possible background signal. A value of 0 means constant background, a value of 1 means linear background etc. If None is provided, no background is added. The dafault value is 1.

  • a It sets the amplitude of the voigt peak to the value provided. In this context, amplitude means literally the amplitude of the signal at peak position. If None is provided (as by default) the best amplitude is found by the fit.

  • p It sets the peak position to the value provided. If None is provided (as by default) the best peak position is found by the fit.

  • g It sets the voigt gaussian width to the value provided. If None is provided (as by default) the best gaussian width is found by the fit.

  • l It sets the voigt lorentian width to the value provided. If None is provided (as by default) the best lorentian width is found by the fit.

  • peak_ratio This parameters helps the process find the best initial values for the fit. For example, a value of 0.3 means then the peak occupies roughly 1 / 3 of the data set width (estimated by eye). If a lower value is provided, the noise may ruin the peak detection, while a higher value may average away the signal.

These are the outputs of the fit:

  • fit The optimal values of the fit parameters in this order: amplitude, peak position, gaussian and lorentian width. To these, it follows the list of polynomial coefficients used for the background signal from lower to higher order. Note that each background coefficient (being very small for higher orders) is multiplied by the n ** i where n is the length of the signal and i the order of the coefficient.

  • err The error correspondent to each parameters obtained from the fit.

  • snr The fit signal to noise measured as the ratio between the signal amplitude (obtained from fit) and the fit data noise (signal - fit standard deviation). This parameter may help decide whatever or not a fit is reliable.

  • yf The list of fitted data values that can be used, for example, in a plot.

All measured parameters are printed directly on terminal together with their error bars and guessed initial values. A color coded fit signal to noise ratio may help decide if a fit is reliable. Red means unreliable, orange means not optimal, while green means reliable. Here is an example of the printed output: example

Gaussian and Lorentian Fit

Note that the fit_gaussian function is equivalent to fit_voigt with the Lorentzian width parameter l fixed to 0, while fit_lorentian is equivalent to the fit_voigt with Gaussian width parameter g fixed to 0.

Test

You can run a simple test of the newly installed package, to check that peaky works well in your machine. Just use peaky.run_test()

Other Documentation

The documentation of the functions shown above could be accessed using the following commands:

print(plx.fit_voigt.__doc__)
print(plx.fit_gaussian.__doc__)
print(plx.fit_lorentian.__doc__)
...

Installation

To install the latest version of the peaky package use the following command:

sudo -H pip3 install peaky

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peaky-1.0.25.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

peaky-1.0.25-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file peaky-1.0.25.tar.gz.

File metadata

  • Download URL: peaky-1.0.25.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.5.2

File hashes

Hashes for peaky-1.0.25.tar.gz
Algorithm Hash digest
SHA256 b26df0cb825068b3776be550cb01ef71e08655ca6ce9cb1a9812623990b9abb0
MD5 998723c656a3e808f6bb6e28f3427232
BLAKE2b-256 855c1ca21e8a0f30eb1891bf608d13d94f25bdb1355c1b7a4c03e12c8ef3487e

See more details on using hashes here.

File details

Details for the file peaky-1.0.25-py3-none-any.whl.

File metadata

  • Download URL: peaky-1.0.25-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.5.2

File hashes

Hashes for peaky-1.0.25-py3-none-any.whl
Algorithm Hash digest
SHA256 0993cfd565fd4f9cb82e517597d71c04a6f16d3fe98d383f336b56a5d27ab840
MD5 d62b7a0815b7fe5b692100bb3a4d94ad
BLAKE2b-256 de9fcfacf1652bd43724580fe826302a5c6749f8a91c07dc2b35fa0207f91037

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page