mpes documentation¶
the data processing package for (tr)ARPES data
(tr)ARPES concepts:¶
In a photoemission process, an extreme UV or X-ray photon liberates an electron from the confines of the electronic potential within the material. ARPES directly measures the electronic energy and momentum parallel to the surface of the sample under study to infer the electronic states of the material. For a tutorial review on ARPES and its applications in physics and material science, see here. The data structure of ARPES is a stack of 2D images measured at different sample geometries, which are used to reconstruct the full static 3D band structure of the material.
TrARPES is an emerging technique that combines state-of-the-art ultrafast laser systems (~ fs resolution) with an existing ARPES experimental setup. TrARPES studies light-induced electronic dynamics such as phase transition, exciton dynamics, reaction kinetics, etc. It adds a time dimension, usually on the order of femtoseconds to nanoseconds, to the scope of ARPES measurements. Due to complex electronic dynamics, various coupling effects between the energy and momentum dimensions come into play in time. A complete understanding of the multidimensional time series from trARPES measurements can reveal dynamic constants crucial to the understanding of material properties and aid in simulation, design and further device applications.
Contents:¶
Installation¶
Install from git repository
pip install git+https://github.com/RealPolitiX/mpes.git
Install from PyPI
File I/O & Processing¶
Custom methods to handle ARPES data I/O and standard data processing methods (filtering, dewarping, etc.)
Analysis¶
Data analysis pipeline including background removal, segmentation and fitting
Visualization¶
Custom methods for visualizing 2D-4D datasets for ARPES and beyond
Utility functions¶
Utility functions for the mpes package
@author: R. Patrick Xian
-
mpes.utils.
numFormatConversion
(seq, form='int', **kwds)¶ When length keyword is not specified as an argument, the function returns a format-converted sequence of numbers
The function returns nothing when the conversion fails due to errors
Parameters
- seq : 1D numeric array
- the numeric array to be converted
- form : str | ‘int’
- the converted format
Return
- numseq : converted numeric type
- the format-converted array
-
mpes.utils.
replist
(entry, row, column)¶ Generator of nested lists with identical entries. Generated values are independent of one another.
*Parameters*
- entry : numeric/str
- repeated item in nested list
- row : int
- number of rows in nested list
- column : int
- number of columns in nested list
*Return*
nested list
-
mpes.utils.
revaxis
(arr, axis=-1)¶ Reverse an ndarray along certain axis
Parameters arr : nD numeric array
array to invert- axis : int | -1
- the axis along which to invert
Return revarr : nD numeric array
axis-inverted nD array
-
mpes.utils.
shuffleaxis
(arr, axes, direction='front')¶ Move multiple axes of a multidimensional array simultaneously to the front or end of its axis order
*Parameters*
- arr : ndarray
- array to be shuffled
- axes : tuple of int
- dimensions to be shuffled
- direction : str | ‘front’
- direction of shuffling (‘front’ or ‘end’)
*Return*
- sharr : ndarray
- dimension-shuffled array
-
mpes.utils.
to_odd
(num)¶ Convert a single number to its nearest odd number
Parameters
num : float/int
Return
- oddnum : int
- the nearest odd number
General data processing pipeline:¶
- Load file (Igor binary or txt files)
- Use image processing to find initial guess for fitting
- Define the fitting model (model function and regularizer)
- Carry out fitting
\ Sort by:\ best rated\ newest\ oldest\
\\
Add a comment\ (markup):
\``code``
, \ code blocks:::
and an indented block after blank line