Skip to main content

A library for gas phase analysis at the CXI endstation

Project description

X-Ray Scattering Tools

xrayscatteringtools is a Python library designed for advanced X-ray scattering data analysis. It provides tools for data processing, visualization, calibration, and theoretical modeling. Specifically, it works alongside the CXI-Template repository for analyzing data from the Linac Coherent Light Source's Coherent X-ray Imaging hutch.

Features

  • Data I/O: Read and write various data formats, including .xyz and .mol files, and handle experimental data stored in HDF5.
  • Visualization: Generate plots for detector data.
  • Calibration: Perform geometry calibration and create masks for X-ray scattering experiments.
  • Theoretical Modeling: Compute scattering patterns using theoretical models and atomic data.
  • Utilities: A collection of helper functions for unit conversions, azimuthal binning, and more.

Installation

To install the latest version, use pip:

pip install xrayscatteringtools

or install manually

git clone https://github.com/Weber-Group/xrayscatteringtools.git
cd xrayscatteringtools
pip install -r requirements.txt

Modules Overview

1. xrayscatteringtools.io

Handles data input and output operations:

  • Key Functions:
    • combineRuns: Combine data from multiple experimental runs.
    • read_xyz, write_xyz: Read and write .xyz files.
    • get_data_paths: Retrieve paths to data files.
    • get_config: Load configuration files for experiments.

2. xrayscatteringtools.plotting

Provides tools for visualizing X-ray scattering data:

  • Key Functions:
    • plot_j4m: Plot Jungfrau 4M detector data.

3. xrayscatteringtools.utils

A collection of utility functions:

  • Key Functions
    • Unit conversions, azimuthal binning, transformations, ipython ease-of-use.

4. xrayscatteringtools.calib

Tools for calibration and masking:

  • Submodules:
    • geometry_calibration: Perform geometry calibration using theoretical scattering patterns.
    • masking: Create and manage masks for X-ray scattering data.
    • scattering_corrections: Compute correction factors for scattering experiments.

5. xrayscatteringtools.theory

Theoretical modeling of X-ray scattering:

  • Submodules:
    • geometries: Load and manage molecular geometries from HDF5 files.
    • iam: Compute elastic X-ray scattering patterns using the Independent Atom Model (IAM).
    • patterns : Load and manage ab initio scattering data from HDF5 files.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes.


License

This project is licensed under the MIT License. See the LICENSE file for details.


Acknowledgments

This library was created by David J. Romano based of compiling and standardizing code from previous data analysis piplines. Maintained by the Weber Research Group and developed by collaborators to facilitate X-ray scattering research.

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

xrayscatteringtools-0.3.0.tar.gz (353.8 kB view details)

Uploaded Source

Built Distribution

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

xrayscatteringtools-0.3.0-py3-none-any.whl (359.5 kB view details)

Uploaded Python 3

File details

Details for the file xrayscatteringtools-0.3.0.tar.gz.

File metadata

  • Download URL: xrayscatteringtools-0.3.0.tar.gz
  • Upload date:
  • Size: 353.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for xrayscatteringtools-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c8de1d677b9380d71ea339220fde29b5dd4c5ec6317cb598cb386f3160c81621
MD5 7e3f12f42cd7ecbc1688e4c1b5cea658
BLAKE2b-256 af960328e50d85fc0bc7daf564ec609ccb315af6dfc97d2b6ed85bd4440493e7

See more details on using hashes here.

File details

Details for the file xrayscatteringtools-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for xrayscatteringtools-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70f7fd9ec25dcaf7f3f9fc450eba4e2da9073d3a84896669a95321db9abfe5f2
MD5 430b421e3d3d53237599dce6078b353a
BLAKE2b-256 6b8a19690fbd8983f3fe7c1b6d701e42ba8e22931fdd771cdf965a0e1dec7fb5

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