Skip to content

phockett/PEMtk

Repository files navigation

PEMtk: the Photoelectron Metrology Toolkit

Zenodo archive

Toolkit for photoelectron metrology, data & analysis layer.

Status: as of late 2023, full modelling and fitting of LF, AF and MF observables is implemented, and released as v0.0.1 of the package. Note this is still beta code however, and in active development.

For details see:

  1. Ongoing PEMtk docs on ReadTheDocs - includes getting started guide and basic demos.
  2. Quantum Metrology with Photoelectrons Vol. 3 - open source book covering the theory and numerical implementation in detail, including Jupyter notebooks and full numerical examples of matrix element retrieval for three demonstration cases (N2, OCS, C2H4), using v0.0.1-dev release of the codebase.
  3. Topical Review: Extracting Molecular Frame Photoionization Dynamics from Experimental Data (2022) - manuscript which covers photoionization theory and fitting methodologies, the latter as somewhat of a manual for PEMtk, including a full numerical case study.

The figures below illustrate results for matrix element retrieval from N2, based on simulated aligned-frame data (BLM(t)), illustrating density matrix and MFPAD results and phase sensitivity. For more details, see Quantum Metrology with Photoelectrons Vol. 3 N2 case study MFPADs, in particular the MFPADs and density matrices sections.

BLM(t) fit demo

Time-dependent BLM(t) data fitting demo for N2, see Quantum Metrology with Photoelectrons Vol. 3 for details.

MFPAD reconstruction demo

MFPAD reconstruction demo for N2, see Quantum Metrology with Photoelectrons Vol. 3 for details.

Density matrix reconstruction demo

Density matrix reconstruction demo for N2, see Quantum Metrology with Photoelectrons Vol. 3 for details.

Currently implemented (v0.0.1)

A full demonstration can be found in Quantum Metrology with Photoelectrons Vol. 3 (2023), which made use of the v0.0.1-dev release of the codebase (Aug 2023).

Installation

Currently (dev version) only from source + local pip install

Using pip:

git clone https://github.com/phockett/PEMtk.git
pip install -e PEMtk
pip install ePSproc pyshtools lmfit

Or from setup.py (from clone dir):

python setup.py install

Notes

  • The repo can be passed directly to pip, e.g. pip install git+https://github.com/phockett/PEMtk.git, see notes in the pip docs.
  • Note that pip -e is for 'editable', and requires the source dir to remain, but the installation is also editable, see notes here. Alternatively, use pip install <path_to_local_pkg>.
  • For basic use and fitting functionality, pip install ePSproc pyshtools lmfit should pull required dependencies, see below for more details.

Dependencies

The basic install does not force any dependencies, but most required packages can be obtained via an installation of the main dependency, ePSproc, which provides core classes and computational functionality, along with lmfit for fitting routines.

For any issues, the included requirements-ePSproc.txt file can also be used to pull dependencies, simply run:

pip install -r requirements-ePSproc.txt

And for fitting functionality:

pip install pyshtools lmfit

For more options and details, see:

Docker

Docker builds are available as follows:

Roadmap

  • Further fitting methodology & code developments - Faster fitting, GPU fitting etc. - Implementation of matrix techniques (see Gregory, M. et al. (2021) ‘Towards molecular frame photoelectron angular distributions in polyatomic molecules from lab frame coherent rotational wavepacket evolution’, Journal of Physics B: Atomic, Molecular and Optical Physics, 54(14), p. 145601. Available at: https://doi.org/10.1088/1361-6455/ac135f.)
  • Integrated data handling class(es).
  • Image processing (basic inversions, tomography, FT methods etc.; some aspects are already implemented in TMO-dev package).
  • Image simulation.
  • More versatile plotting routines.
  • Interfaces for various experimental platforms.

Quantum Metrology with Photoelectrons Platform

PEMtk, aka the Quantum Metrology with Photoelectrons platform data & analysis layer, is the unifying layer (glue) for the platform.

Currently, the platform is under development, based on methods developed over the last 10+ years of research in this area. On the theory side, work is based around ePolyScat, and a set of python packages have already been developed (ePSproc); on the experimental side, the plan is to update existing Matlab codes for Velocity Map Imaging (VMI) experiments and analysis routines (and rewrite/unify in python). Some early work in python - specifically for FEL data - can be found in the TMO-dev package. The real foundation, and glue, for the platform will be the Photoelectron metrology toolkit (PEMtk), which will provide the unifying data platform, and analysis routines. In the future, it is hoped that this platform will be extended to other theoretical and experimental methods, but continue to provide a useful, unifying, platform. See also ePSdata for general aims & motivation, and a growing collection of computational results for various cases.

QM Platform schematic

QM Platform schematic

Citation

If you make use of PEMtk in your research, please cite it.

Cite the software directly via the Github repository for the software - use the "Cite this repository" link in Github, or use the included CITATION.bib file, which includes:

@software{hockett2021PEMtkGithub,
  title = {Photoelectron Metrology Toolkit (PEMtk) Github Repository},
  author = {Hockett, Paul},
  year = {2024},
  url = {https://github.com/phockett/PEMtk},
  urldate = {2022-02-18},
  DOI={10.5281/zenodo.10882996},
  publisher={Github},
  abstract = {Quantum Metrology with Photoelectrons platform data \& analysis layer - the unifiying layer (glue) for the platform. Main capabilities are development of fitting/retrieving continuum wavefunctions from experimental data; handling multi-dimensional datasets; facilitating comparison of ab initio results with experimental data.},
  keywords = {Repo,Software},
  commit = {788329b82911b2a0690323c64116aa6d19537ecc},
}

(For specific releases and commits, see https://github.com/phockett/PEMtk/releases and https://github.com/phockett/PEMtk/commits/master/, and the archived versions can also be found on Zenodo: Zenodo archive . Citation styles for software from StackExchange.)

... or the book Quantum Metrology with Photoelectrons Vol. 3 (2023) and/or the manuscript Topical Review: Extracting Molecular Frame Photoionization Dynamics from Experimental Data (2023) paper. Both are available in HTML versions with interactive figures (as linked above), and other forms online, and include discussion and numerical demos using the software (release v0.0.1-dev); see the included CITATION.bib for additional citation details and options.:

@book{hockett2023QuantumMetrologyPhotoelectronsIOP,
  title = {Quantum Metrology with Photoelectrons, Volume 3: Analysis Methodologies},
  author = {Hockett, Paul and Makhija, Varun},
  year = {2023},
  month = dec,
  publisher = {IOP Publishing},
  doi = {10.1088/978-0-7503-5022-8},
  url = {https://iopscience.iop.org/book/mono/978-0-7503-5022-8},
  isbn = {978-0-7503-5022-8},
}

@article{hockett2023TopicalReviewExtracting,
  title = {Topical Review: Extracting Molecular Frame Photoionization Dynamics from Experimental Data},
  author = {Hockett, Paul and Makhija, Varun},
  year = {2023},
  month = may,
  journal = {Journal of Physics B: Atomic, Molecular and Optical Physics},
  volume = {56},
  number = {11},
  eprint = {2209.04301},
  pages = {112001},
  publisher = {IOP Publishing},
  issn = {0953-4075},
  doi = {10.1088/1361-6455/acd03e},
  url = {https://dx.doi.org/10.1088/1361-6455/acd03e},
}