Skip to main content

A Python package for visualizing and analyzing X-ray Diffraction (XRD) experimental data, providing tools to process, visualize, and extract meaningful insights from XRD patterns and measurements.

Project description

XRD-utils is a Python package for loading, aligning, analyzing, and visualizing X-ray diffraction (XRD) data, including line scans and reciprocal space maps.

Installation

Install from PyPI:

pip install XRD-utils

Install from source:

git clone https://github.com/yig319/XRD-utils.git
cd XRD-utils
pip install -e .

Clone On A New Desktop

From a fresh machine, use:

git clone https://github.com/yig319/XRD-utils.git
cd XRD-utils
python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -r requirements-dev.txt
pip install -e .

Notes:

  • requirements.txt contains runtime dependencies.

  • requirements-dev.txt includes runtime + test/build/docs tooling.

Quick Start

import numpy as np
from xrd_utils.xrd_utils import detect_peaks, calculate_fwhm

# Example synthetic profile
x = np.linspace(40, 50, 500)
y = np.exp(-((x - 45.0) ** 2) / 0.02) + 0.05

peak_x, peak_y = detect_peaks(x, y, num_peaks=1, prominence=0.1)
fwhm, amp, left, right = calculate_fwhm(x, y, peak_x[0])

Usage Guide

See USAGE.md for a practical guide to scan loading, stacked plotting, peak tables, reciprocal-space maps, and the boundary between XRD-utils and sci-viz-utils.

Runnable Demo

Try a full synthetic workflow (peak detection, FWHM, alignment, and plotting):

# from repo root
PYTHONPATH=src python examples/demo_xrd_scan.py

This writes a demo figure to examples/output/demo_xrd_scan.png.

Features

  • Peak detection and alignment utilities for XRD scans.

  • FWHM estimation and fringe-based thickness estimation helpers.

  • Visualization for stacked 1D XRD scans and file-based scan plotting.

  • Reciprocal space mapping (RSM) plotting tools.

  • Migrated convenience helpers from PlumeDynamics: plot_xrd_files and plot_rsm.

Documentation

Sphinx documentation is provided in the docs directory.

Build docs locally:

pip install -r docs/requirements.txt
pip install -e .
sphinx-build -b html docs docs/_build/html

License

This project is licensed under the MIT License. See LICENSE.txt.

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

xrd_utils-5.0.3.tar.gz (573.9 kB view details)

Uploaded Source

Built Distribution

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

xrd_utils-5.0.3-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file xrd_utils-5.0.3.tar.gz.

File metadata

  • Download URL: xrd_utils-5.0.3.tar.gz
  • Upload date:
  • Size: 573.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xrd_utils-5.0.3.tar.gz
Algorithm Hash digest
SHA256 1111d03570063c789fe5490e1d897eb8622a4cfbddf202904618f5676ef6ae83
MD5 b70b604e6625a17bc8fa3be6500227be
BLAKE2b-256 3d04fa027602da3c8457b5487e5f00fc90771359ed227ae335dcd59ce979cc5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for xrd_utils-5.0.3.tar.gz:

Publisher: main.yml on yig319/XRD-utils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xrd_utils-5.0.3-py3-none-any.whl.

File metadata

  • Download URL: xrd_utils-5.0.3-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xrd_utils-5.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 50b65a2c9aeb10b5ba2290417136b5ad12d7e0c62da75cc9f588e5d55f7e28f8
MD5 be404756609f47c81d43cd8701d813e7
BLAKE2b-256 f119d32b8e46bc0584967d9d78e80c3d66eccb2d5eb969aa9499ea7ddb77d069

See more details on using hashes here.

Provenance

The following attestation bundles were made for xrd_utils-5.0.3-py3-none-any.whl:

Publisher: main.yml on yig319/XRD-utils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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