Skip to main content

Data reduction for single crystal x-ray scattering

Project description

Introduction

NXRefine implements a complete workflow for both data acquisition and reduction of single crystal diffuse x-ray scattering collected as a series of area detector frames during continuous sample rotation. The data are stored in HDF5 files, which conform to the NeXus data format standard. These files contain a comprehensive set of metadata, including the incident wavelength, powder calibration scans used to define detector distances, beam centers, and yaw, pitch, and roll corrections. Automated peak searches of the three-dimensional data arrays define a set of Bragg peaks that are used to define an orientation matrix, defined according to Busing and Levy, which is then used to transform the data from angular coordinates to reciprocal space coordinates using the CCTW program. Multiple rotations at different detector translations and offset rotation axes are combined to ensure that there are no gaps in the reconstructed data, and allow the construction of masks to eliminate detector artifacts due to Compton scattering within the sensor layers. Finally, the data can be transformed into 3D-ΔPDF maps using the punch-and-fill method after symmetrization.

The workflow is implemented as plugins to the NeXpy package that are used to set up the basic experimental configuration and sample parameters, and determine the orientation matrix. The remaining components of the workflow can be run as command-line scripts, or submitted to a queue for distribution to multiple nodes or processes for simultaneous reduction of multiple datasets.

Instructions for running NXRefine are under development.

The NXRefine package is being developed as part of a DOE-funded project to utilize advanced computational methods for the analysis of single-crystal x-ray scattering from synchrotron sources, such as multidimensional spectral analysis and machine learning. Further details of this project are available on the AXMAS web pages.

Installing and Running

The source code can be downloaded from the NeXpy Git repository:

    $ git clone https://github.com/nexpy/nxrefine.git

To install in the standard Python location:

    $ pip install .

Prerequisites

Python Packages

The following packages are listed as dependencies.

CCTW

CCTW (Crystal Coordination Transformation Workflow) is a C++ package written by Guy Jennings. It is launched as a separate process by NXRefine, which uses the experimental metadata to define the settings file used to define the input and output grids. It has to be separately installed.

User Support

If you are interested in using this package, please contact Ray Osborn (ROsborn@anl.gov). Please report any bugs as a Github issue, with relevant tracebacks.

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

nxrefine-1.0.0b1.tar.gz (212.0 kB view details)

Uploaded Source

Built Distribution

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

nxrefine-1.0.0b1-py3-none-any.whl (223.4 kB view details)

Uploaded Python 3

File details

Details for the file nxrefine-1.0.0b1.tar.gz.

File metadata

  • Download URL: nxrefine-1.0.0b1.tar.gz
  • Upload date:
  • Size: 212.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for nxrefine-1.0.0b1.tar.gz
Algorithm Hash digest
SHA256 9cb875b3128c5795a38db790b754d202f92109088291ca349d9cd54f9a827b75
MD5 cebe705ef1111ca93ce4f8378df4f908
BLAKE2b-256 5cef6293164c9ec00ef16ccf868c12a0064c514b52f4a033e9024382bd236fed

See more details on using hashes here.

File details

Details for the file nxrefine-1.0.0b1-py3-none-any.whl.

File metadata

  • Download URL: nxrefine-1.0.0b1-py3-none-any.whl
  • Upload date:
  • Size: 223.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for nxrefine-1.0.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 52683235f48771f7e57b6b3f2820a23a9b437f522a8075614a8a4d3fb2c0e87a
MD5 b0184c967c50158126b17e0900b2833e
BLAKE2b-256 0635a826b43d88cfe2c978d22b224f5d2470ad1ac5c4a80244bf40a0fe144e03

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