Skip to main content

Python tools and scripts for ARPES data analysis

Project description

ARPYS: python module for ARPES (Angle Resolved PhotoEmission Spectroscopy) data analysis

This repository consists of libraries, programs and scripts related to ARPES data analysis. The software contained in this repository is distributed under the GNU General Public License v3+. See file 'COPYING' for more information. The file 'LICENSE-3RD-PARTY.txt' covers the different licenses of libraries and other programs used by ARPYS.

Requirements

The requirements are listed in requirements.txt. Most notable are pyqtgraph, a nice library that's built on PyQt and allows fast real-time data visualization. Consequently, arpys requires PyQt5 and its dependency SIP. Confer INSTALLING.md for more info.

Installation

Please refer to the file INSTALLING.md

Rough description of contents

The recommended way of using arpys currently is to make use of the classes in dataloaders.py (if the beamline in question has already been implemented) to get the relevant data into a usable format in python. Then, one can use the functions provided in postprocessing.py (normalizations, background subtractions, etc.) on the so loaded data. Here's a simple example:

# Import the dataloaders and postprocessings
from arpys import dl, pp 

# Load the data (this requires an appropriate dataloader to be defined in 
# dataloaders.py. If it isn't, check the file to see how you should define it
# in your case.
D = dl.load_data('your_arpes_data_file.suffix')

# D is a Namespace object which stores the data array and some meta-data.
# In this example we're assuming the data to contain a single energy-k cut.
# arpys always loads data as 3d-arrays, however, so we need to take D.data[0]
# here.
data = D.data[0]
energies = D.xscale
angles = D.yscale

# Apply some background subtraction (use at your own discretion):
bg_subtracted = pp.subtract_bg_matt(data)

# Try taking the second derivative to make the bands more visible. This often
# requires smoothing first and is very susceptible to the various parameters.
from scipy.ndimage import filters
smoothened = filters.gaussian_filter(bg_subtracted, sigma=10)
dx = energies[1] - energies[0]
dy = angles[1] - angles[0]
second_derivative = pp.laplacian(smoothened, dx, dy)

The tools that ship with arpys should be considered to be in an untested stage and used at your own discretion.

postprocessing.py

Library-like module that contains functions to process ARPES data, like normalizations, bg subtractions, derivative methods, etc.

dataloaders.py

Contains classes which handle reading of ARPES data from different beamlines (i.e. different data format and conventions) and passing it in a fixed, python-friendly format for use by other tools and scripts in this module.

arpes_plot.py

Implements a commad-line interpreter that allows quick visualization of data and provides some basic postprocessing options (like cropping, normalization, angle-to-k conversion,...) Can be used as a program from the command line (possibly after a chmod 755 arpes_plot.py) by

$ arpes_plot.py <path-to-data>

pit

The Python Image Tool: A graphical data analysis tool (in the making) based on the pyqtgraph module.

tools/

A set of little scripts and command-line tools for specific jobs. Confer each tools respective documentation for more info.

gui.py

[Deprecated] A GUI which allows to take quick looks at cuts and maps. This is built with tkinter and matplotlib and, consequently, is rather slow. In most cases arpes_plot.py should be used instead.

apc

A link to arpes_plot.py

bandcharacters.py

A tool to plot the band characters from a wien2k DFT calculation.

utilities/

A submodule that contains some custom python code that the original author used on his system and got incorporated into arpys. arpys mostly needs the axes subclasses and some small helper functions from there. This is actually just a copy of another module that is hosted at <git@github.com:kuadrat/kustom.git>.

================================================================================ Copyright (c) 2018 Kevin Kramer, Universität Zürich (kevin.kramer@uzh.ch)

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

arpys-0.1.4.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arpys-0.1.4-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file arpys-0.1.4.tar.gz.

File metadata

  • Download URL: arpys-0.1.4.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.7.0 setuptools/40.4.2 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.4.6

File hashes

Hashes for arpys-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d23d9fd989564d4f034afaff1f3fc5b49eb2a022cd75d71aaa7d9538bb278b36
MD5 86963ca9d46361deafda08c3dbfa80e7
BLAKE2b-256 78173780b4434d57ecb0a8c5f2edc62a3653f5189366d44d694520d2b41bb8d9

See more details on using hashes here.

File details

Details for the file arpys-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: arpys-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.7.0 setuptools/40.4.2 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.4.6

File hashes

Hashes for arpys-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c16c5d8aeea0cf52a00d358d534c027c93cf69bb3bc3dd86c0dfad9a5d92361f
MD5 645c4e7cd1b552a1a127e25f12d40658
BLAKE2b-256 a22517419d612b7150d9c58ed5248cbffec936a1ad1d6c1b5400afec62f00c43

See more details on using hashes here.

Supported by

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