https://github.com/mpes-kit/fuller

Probabilistic machine learning for reconstruction and parametrization of electronic band sturcture from photoemission spectroscopy data

https://github.com/mpes-kit/fuller

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, ieee.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.6%) to scientific vocabulary

Keywords

arpes band-structure electron-spectroscopy fitting inference machine-learning markov-random-field materials-informatics materials-science mpes photoemission probabilistic-graphical-models reconstruction
Last synced: 6 months ago · JSON representation

Repository

Probabilistic machine learning for reconstruction and parametrization of electronic band sturcture from photoemission spectroscopy data

Basic Info
Statistics
  • Stars: 13
  • Watchers: 2
  • Forks: 3
  • Open Issues: 1
  • Releases: 4
Topics
arpes band-structure electron-spectroscopy fitting inference machine-learning markov-random-field materials-informatics materials-science mpes photoemission probabilistic-graphical-models reconstruction
Created almost 6 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

fuller

License PyPI Version Downloads

Integrated computational framework for electronic band structure reconstruction and parametrization, powered by probabilistic machine learning

Introduction

This Python package comprises a set of tools to reconstruct and parametrize the electronic band structure (EBS) from photoemission spectroscopy data. It implements the Markov Random Field model introduced in Xian & Stimper et al. (2020) in TensorFlow.

Methods of installation

The latest version of the package can be installed via pip

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

Alternatively, download the repository and run

python setup.py install

Install directly from PyPI

pip install fuller

Requirements

Apart from the packages specified in the requirements.txt file, tensorflow is needed. Installation instructions can be found at the official webpage. The package works with the CPU only and GPU supported version of the framework. Currently, only version TensorFlow 1 (1.14 onwards) is supported, but we are working on porting it to TensorFlow 2.

Sample dataset

As a model system to demonstrate the effectiveness of the methodology we worked on 3D photoemission data of the semiconductor tungsten diselenide (WSe2). It resolve the momentum along the x- and y- axis (kx and ky) and the energy.

Reconstruction

All 14 valence band of WSe2 are visible in the dataset. The optimization was initialized by DFT calculation with HSE06 hybrid exchange-correlation functional. The results are shown in the figure below.

Valence bands of tungsten diselenide reconstructed using MRF model

Documentation

Complete API documentation is provided here.

Preprocessing and Reconstruction

Class MrfRec

The MrfRec class is of central importance for reconstruction as well as preprocessing the data. To reconstruct the EBS create a MrfRec object and use its methods to perform the algorithms and plot the results. Here, we list a selection of the most important methods of the class. For further illustration on how to use the class check out the mpes_reconstruction_mrf.ipynb notebook in the example folder.

__init__

python def __init__(E, kx=None, ky=None, I=None, E0=None, eta=0.1, includeCurv=False, etaCurv=0.1): ...

  • E: Energy as 1D numpy array
  • kx: Momentum along x axis as 1D numpy array, if None it is set to 0
  • ky: Momentum along y axis as 1D numpy array, if None it is set to 0
  • I: Measured intensity wrt momentum (rows) and energy (columns), generated if None
  • E0: Initial guess for band structure energy values, if None the median of E is taken
  • eta: Standard deviation of neighbor interaction term
  • includeCurv: Flag, if true curvature term is included during optimization
  • etaCurv: Standard deviation of curvature term
iter_para

python def iter_para(num_epoch=1, updateLogP=False, use_gpu=True, disable_tqdm=False, graph_reset=False): ...

Hereby, the parallel optimization of Markov Random Field model can be performed to reconstruct an electronic band. * num_epoch: Number of epochs to perform * updateLogP: Flag, if true logP is updated every half epoch (requires more computations) * use_gpu: Flag, if true gpu is used for computations if available * disable_tqdm: Flag, it true no progress bar is shown during optimization * graph_reset: Flag, if true Tensorflow graph is reset after computation to reduce memory demand

normalizeI

python def normalizeI(kernel_size=None, n_bins=128, clip_limit=0.01, use_gpu=True, threshold=1e-6): ...

This performs Multidimensional Contrast Limited Adaptive Histogram Equalization (MCLAHE), introduced in Stimper et al. 2019. The method is a wrapper for the TensorFlow implementation of the mclahe function. * kernel_size: Tuple of kernel sizes, 1/8 of dimension lengths of x if None * n_bins: Number of bins to be used in the histogram * clip_limit: Relative intensity limit to be ignored in the histogram equalization * use_gpu: Flag, if true gpu is used for computations if available * threshold: Threshold below which intensity values are set to zero

Citation

If you are using this package within your own projects, please cite it as

R. P. Xian, V. Stimper, M. Zacharias, S. Dong, M. Dendzik, S. Beaulieu, B. Schölkopf, M. Wolf, L. Rettig, C. Carbogno, S. Bauer, and R. Ernstorfer, "A machine learning route between band mapping and band structure," arXiv:2005.10210, 2020.

Bibtex code @article{Xian2020, author={R. P. Xian and V. Stimper and M. Zacharias and S. Dong and M. Dendzik and S. Beaulieu and B. Schölkopf and M. Wolf and L. Rettig and C. Carbogno and S. Bauer and R. Ernstorfer}, journal={arXiv:2005.10210}, title={A machine learning route between band mapping and band structure}, year={2020}, }

Owner

  • Name: mpes-kit
  • Login: mpes-kit
  • Kind: organization
  • Location: Germany

Codebase for materials informatics in multidimensional) photoemission spectroscopy (https://gitter.im/mpes_tools/community)

GitHub Events

Total
  • Create event: 12
  • Release event: 3
  • Issues event: 2
  • Watch event: 2
  • Delete event: 8
  • Member event: 1
  • Push event: 24
  • Pull request review event: 1
  • Pull request review comment event: 5
  • Pull request event: 10
  • Fork event: 2
Last Year
  • Create event: 12
  • Release event: 3
  • Issues event: 2
  • Watch event: 2
  • Delete event: 8
  • Member event: 1
  • Push event: 24
  • Pull request review event: 1
  • Pull request review comment event: 5
  • Pull request event: 10
  • Fork event: 2

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 40
  • Total Committers: 2
  • Avg Commits per committer: 20.0
  • Development Distribution Score (DDS): 0.15
Top Committers
Name Email Commits
RealPolitiX x****k@g****m 34
Vincent Stimper v****r@g****m 6

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 3
  • Total pull requests: 7
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 6
  • Average time to close issues: 16 days
  • Average time to close pull requests: about 1 month
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • JulyZR (2)
  • rettigl (1)
Pull Request Authors
  • rettigl (10)
  • myksa (2)
  • VincentStimper (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 34 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 5
  • Total maintainers: 2
pypi.org: fuller

Integrated computational framework for electronic band structure reconstruction and parametrization

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 34 Last month
Rankings
Dependent packages count: 10.1%
Stargazers count: 17.1%
Dependent repos count: 21.5%
Average: 26.7%
Forks count: 29.8%
Downloads: 55.1%
Maintainers (2)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • matplotlib *
  • natsort *
  • numpy *
  • poppy *
  • scipy *
  • silx *
  • symmetrize *
  • tqdm *
setup.py pypi
  • x.strip *