Skip to main content

Multiband lineshape fitting routines for photoemission spectroscopy

Project description

pesfit

License

Multiband lineshape fitting routines and benchmarks for photoemission spectroscopy

Rationale

Lineshape fitting is a universal task in photoemission spectroscopy and can be a tedious endeavor due to the increasing amount of data measured in modern instruments (e.g. angle-resolved hemispherical analyzer, time-of-flight electron momentum microscope). It extracts physically meaningful quantities directly related to the materials' electronic properties, which can be reproduced from theory calculations. However, the efficiency bottleneck in lineshape fitting puts constraints on the potential new physical insights obtainable within a meaningful time frame. We set up here examples of multiband photoemission spectra along with existing domain knowledge in the field. The routines and benchmarks featured here offer an open-source data and algorithm platform for continuous algorithm development to improve the computational efficiency of the lineshape fitting task, which, in the meantime, also paves the way towards the automation of materials characterization using photoemission spectroscopy.

Design and scope

The fitting part of the package builds and improves on the existing Model and CompositeModel classes in the widely-used lmfit package to include multiband lineshapes (involving an arbitrary number of peaks) evaluated using map-reduce operations. Fitting of multiple intensity profiles can be carried out either in sequence or in parallel.

The focus of the software and its benchmarks in on determining the momentum-dependent band positions in valence band photoemission data at scale (e.g. 104-105 spectra with each containing 10+ bands), which meets the needs for a global understanding of these complex data with reasonable accuracy (not necessarily accounting for all photoemission physics) to yield empirical structural information (i.e. band structure parameters). For conventional data analysis of core-level photoemission spectroscopy that often exhibits a complex background, please consult software packages such as lmfit, xps, and gxps.

Installation

  1. Install from scratch

     pip install git+https://github.com/mpes-kit/pesfit.git 
  2. Upgrade or override an existing installation

     pip install --upgrade git+https://github.com/mpes-kit/pesfit.git 

Data source

Please download the data from mpes-kit/pesarxiv. To run the examples and benchmarks, create a ./data folder in the cloned repository and copy the downloaded data into it.

Benchmarks and examples

Besides source code, the package comes with examples presented in Jupyter notebooks and benchmarks for multiband dispersion fitting routines in scripts, using the data described above.

Documentation

Online documentation is provided here.

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

pesfit-0.4.8.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

pesfit-0.4.8-py2.py3-none-any.whl (14.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pesfit-0.4.8.tar.gz.

File metadata

  • Download URL: pesfit-0.4.8.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.6.4

File hashes

Hashes for pesfit-0.4.8.tar.gz
Algorithm Hash digest
SHA256 78fe5d8ab3c15b3b68390566f13638b40e1cb8681c85302c57d0aeb34bc37bd4
MD5 e59baa6dbfb6bbb7d6d8bfe99f1c3032
BLAKE2b-256 abb36496614b8e49a3cc1cb5a5ad02a819851dcb50a5f1f2e790d18b96f149da

See more details on using hashes here.

Provenance

File details

Details for the file pesfit-0.4.8-py2.py3-none-any.whl.

File metadata

  • Download URL: pesfit-0.4.8-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.6.4

File hashes

Hashes for pesfit-0.4.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 373e7067fed4fdba1dd0d63a0b11f92fc531dcadcb698108bce3ebfca84c6c4f
MD5 b72a3eee6a4a7d3face8eacf85d481ff
BLAKE2b-256 65fa7c27797b8598ae7a520492bd2361c2c93e721b3048b63a060b95060661cc

See more details on using hashes here.

Provenance

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