Skip to main content

SWAXS tools

Description

This is a collection of scripts to perform data conversion and integration on X-ray scattering data, specifically for data collected on the Xenocs Xeuss SWAXS instrument.

Available tools:

  • sm-datconv - Converts Xenocs format 1D data (.dat) to TOPAS compatible .xye format
  • sm-edfh5 - Convert EDF files to HDF5 format with metadata preservation
  • sm-saxsint - Integrate 2D SAXS data from Xenocs Xeuss instruments with background subtraction
  • sm-waxsint - Integrate 2D WAXS data from Xenocs Xeuss instruments with absorption correction
  • sm-spharm - Visualize spherical harmonics functions from TOPAS coefficients

Installation

Install in a virtual environment to avoid dependency conflicts:

pip install SusMat-SWAXS

Usage

All scripts are available as command-line tools after installation. Use the --help flag with any command to see detailed usage information.

sm-datconv

Converts Xenocs format 1D data (.dat) to TOPAS compatible .xye format.

Input: .dat file with tab-separated columns for q, I(q) (and optionally sigma).

Usage:

sm-datconv <filename_without_extension>

Output: .xye file with tab-separated columns for 2θ, I, and error (if present in input).

Batch processing example (PowerShell):

Get-ChildItem -Filter *.dat | ForEach-Object -Process {sm-datconv $_.BaseName}

sm-xrdmlconv

Converts Malvern PANalytical format 1D data (.xrdml) to TOPAS compatible .xy format.

Input: .xrdml file .

Usage:

sm-xrdmlconv <filename_without_extension>

Output: .xy file with tab-separated columns for 2θ and I and a .json file containing metadata.

sm-edfh5

Convert multiple EDF files to a single HDF5 file with metadata preservation.

Usage:

sm-edfh5 <path to directory containing edf files>

sm-saxsint

Integrate 2D SAXS data from Xenocs Xeuss instruments with background subtraction and absorption correction.

Usage:

sm-saxsint <sample.edf> <mask.edf> [OPTIONS]

Key options:

  • --poni <file.poni> - PONI calibration file
  • --background <bkg.edf> - Background file for subtraction
  • --bkg_factor <float> - Background scaling factor (default: 1.0)
  • --unit <q|2th> - Radial unit for integration (default: q)
  • --xmin <float> - Minimum q value (default: 0.004)
  • --xmax <float> - Maximum q value (default: 0.7)
  • --opencl - Use OpenCL acceleration (requires pyopencl)
  • --raw2D - Display 2D image in lab frame

Output:

  • *_1D.dat - Integrated 1D data
  • *_subtracted.dat - Background-subtracted data
  • *.svg - Visualization plot

sm-waxsint

Integrate 2D WAXS data from Xenocs Xeuss instruments with absorption correction.

Usage:

sm-waxsint <sample.edf> <mask.edf> [OPTIONS]

Key options:

  • --poni <file.poni> - PONI calibration file
  • --background <bkg.edf> - Background file for subtraction
  • --bkg_factor <float> - Background scaling factor (default: 1.0)
  • --unit <q|2th> - Radial unit for integration (default: q)
  • --xmin <float> - Minimum q value (default: 0.36)
  • --xmax <float> - Maximum q value (default: 3.8)
  • --lac <float> - Linear absorption coefficient in cm⁻¹ for thickness correction
  • --thickness <float> - Sample thickness in cm for transmission correction
  • --noabs - Disable absorption correction
  • --opencl - Use OpenCL acceleration (requires pyopencl)
  • --raw2D - Display 2D image in lab frame

Output:

  • *_1D.dat - Integrated 1D data
  • *_subtracted.dat - Background-subtracted, absorption-corrected data
  • *.svg - Visualization plot

sm-spharm

Visualize spherical harmonics functions using coefficients from TOPAS academic output files.

Usage:

sm-spharm C00 C20 C22P C22M C40 C42P C42M C44P C44M C60 C62P C62M C64P C64M C66P C66M C80 C82P C82M C84P C84M C86P C86M C88P C88M [OPTIONS]

Arguments: 25 spherical harmonics coefficients (c00 through c88m) from TOPAS output file

Options:

  • --output <filename> / -o <filename> - Output filename for the plot (default: sph_harm.svg)
  • --resolution <int> / -r <int> - Angular resolution for the plot (default: 200)

Example:

sm-spharm 1 -0.54889 0.48504 0.74711 0.79916 -0.33178 0.16323 0.45369 \
          -0.29782 -0.29214 -0.43949 0.01524 0.09042 0.85340 0.40316 \
          -0.01881 1.47673 -0.55751 -0.68970 0.02621 -0.06565 -0.56472 \
          1.00981 -0.12339 -0.25831 --output my_spherical_harmonics.svg

Output: 3D visualization plot showing the spherical harmonics function in real space

Support

Submit an issue on github: https://github.com/Sustainable-Materials-Lab/SusMat-SWAXS

Contributing

Contact Samuel Eyley if you are interested in contributing.

Authors and acknowledgment

Originally authored by Samuel Eyley.

Significant portions of code were developed with the help of Github Copilot (2025).

License

MIT License

Metadata

Release files for SusMat-SWAXS 2.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for SusMat-SWAXS 2.1.10
File Size Uploaded Provenance
susmat_swaxs-2.1.10.tar.gz 14.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for SusMat-SWAXS 2.1.10
File Interpreter ABI Platform
susmat_swaxs-2.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 35.5 kB

Release files / susmat_swaxs-2.1.10.tar.gz

Download URL susmat_swaxs-2.1.10.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9595282505584ca22e03ca1a9a51417b2f8f00dc41484373f9e3a38bc69f0e06
BLAKE2b-256 checksum
How to use checksums
d0740b58712f135c9dab4ae5179a764a7ffea87a5d04ee83d7bfabb365b2b5e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / susmat_swaxs-2.1.10-py3-none-any.whl

Download URL susmat_swaxs-2.1.10-py3-none-any.whl
Size 20.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
375ff832659bd2216df4118ec7e7f8ed7e85870990675d0bbd57ae8bec3b524e
BLAKE2b-256 checksum
How to use checksums
82e91c55a34802e737c5f3a0aa3ce6cc2d45155eca4981fa821dc74eb0df0d87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Security for SusMat-SWAXS 2.1.10

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for susmat_swaxs-2.1.10.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page