Skip to main content

Tools for analyzing X-ray absorbance spectroscopy data

Project description

Build status Test coverage status Documentation status

Xanespy is a library for analyzing X-ray absorbance spectroscopy data for materials science, chemistry and similar fields. The major focus is on X-ray microscopy frames collected at multiple energies and over multiple timesteps. However, a design goal is for most (if not all) of the calculation routines to be applicable to bulk XAS data as well.

Motivation & Features

  • Importing and analysis of transmission X-ray microscopy framesets

  • Analysis of X-ray spectroscopy data (K-edge XANES and L-edge)

  • Efficient analysis of large operando datasets

Installation

Xanespy can be installed from the python package index (PyPI) using pip

$ pip install xanespy

Usage

Each beamline generally has its own importer in the xanespy.importers module, which will process the data and create an HDF5 file ready for the rest of xanespy to use

import xanespy

# Example for importing from SSRL 6-2c
xanespy.import_ssrl_frameset('<data_dir>',
                             hdf_filename='imported_data.h5')

# Load a pre-defined XAS edge or create your own subclass xanespy.Edge
edge = xanespy.k_edges['Ni_NCA']
# Now load the newly created HDF5 file and the X-ray absorbance edge
fs = xanespy.XanesFrameset(filename='imported_data.h5', edge=edge)

# Perform automatic frame alignment
fs.align_frames(passes=5)
# Fit the absorbance spectra and extract the edge position (SLOW!)
fs.fit_spectra()

# Inspect the result with the built-in Qt5 GUI
fs.qt_viewer()

Beamlines

We currently have importers for data from the following beamlines. If you would like support a beamline that is not listed and are willing to share some test data publicly, please open an issue.

  • 8-BM-B - Advanced Photon Source

  • 6-2c - Stanford Synchrotron Radiation Lightsource

  • 5.3.2.1 - Advanced Light Source (ptychography)

Ptychography

Xanespy has support for ptychography data from ALS beamline 5.3.2.1. Use xanespy.import_nanosurveyor_frameset to import the .cxi files and xanespy.PtychoFrameset to load the data.

Extended X-ray Absorbance Fine Structure (EXAFS)

Currently EXAFS analysis is NOT supported. While it would be nice to someday include this, this technique generally requires heavy user involvement and does not lend itself to batch processing; if you have expertise in automated analysis of EXAFS data, please get in touch.

License

This project is released under the GNU General Public License version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Acknowledgement

This work was supported as part of the NorthEast Center for Chemical Energy Storage (NECCES), an Energy Frontier Research Center funded by the U.S. Department of Energy, Office of Science, Basic Energy Sciences under Award # DE-SC0012583.

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

xanespy-0.1.5.tar.gz (93.8 kB view details)

Uploaded Source

Built Distribution

xanespy-0.1.5-py3-none-any.whl (108.4 kB view details)

Uploaded Python 3

File details

Details for the file xanespy-0.1.5.tar.gz.

File metadata

  • Download URL: xanespy-0.1.5.tar.gz
  • Upload date:
  • Size: 93.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for xanespy-0.1.5.tar.gz
Algorithm Hash digest
SHA256 91170321129cbe902b2961ed8912533f949cb5f91df0998233f9d763cd32af8b
MD5 7c648af4b6004e5e1215bba3fd168dcf
BLAKE2b-256 f2e07eeb2ed9c369daef86d25f686a68c3e8302724c76d0efced773f44b0ca16

See more details on using hashes here.

File details

Details for the file xanespy-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for xanespy-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d7643347a7de42f35045c99ea108637942df62037c4a4ba43ff05d59dc63cc01
MD5 f604b50965c5f18cfa0349da8120dba1
BLAKE2b-256 0f7acd3b715931b02e9617a115de4808dd55d36a32cb010f3a6d3f60ec58688f

See more details on using hashes here.

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