Software library for grazing-incidence/fibre X-Ray data analysis
Project description
pygix
Pygix is a generic python library for performing reduction of grazing-incidence and fiber X-ray scattering data.
The pygix library has been developed to reduce 2D X-ray scattering data for experiments recorded in grazing-incidence (GISAXS, GIWAXS, GIXRD, GIXD, collectively referred to as GIXS) and fiber diffraction modes. Both 2D image projections and 1D line profile extraction are handled. The package is designed to be as generic as possible, i.e., it makes no assumptions about the data (passed by the user as numpy arrays) and all detector and geometric corrections can be handled at the point of data reduction.
Please refer to the wiki for more detailed discussion!
Example usage:
import pygix
import pygix.plotting as pp
pg = pygix.Transform()
pg.load('detector_calibration.poni')
pg.indcident_angle = 0.2
# transform image into reciprocal space:
i, qxy, qz = pg.transform_reciprocal(data)
pp.implot(i, qxy, qz, xlim=(-5, 28), ylim=(-.5, 32), mode='rsm')
Which will generate the following image:
Pygix uses the fiber transformation originally described by Stribeck [1] (based on earlier work by Polayni [2]), which has recently been formulated for the case of grazing-incidence scattering [3]. The reciprocal space transformation for the fiber and grazing-incidence X-ray scattering are thus equivalent, meaning this python library is generic for both classes of experiments.
Pygix is heavily based on the pyFAI library for conventional 2D transmission azimuthal integration [4].
References
- Stribeck and Nöchel, J. Appl. Crystallogr., (2009), 42, 295–301
- Polanyi, Z. Physik, (1921), 7, 149-180
- Lilliu and Dane, arXiv:1511.06224 [cond-mat.soft]
- Ashiotis, Deschildre, Nawaz, Wright, Karkoulis, Picca and Kieffer, J. Appl. Crystallogr., 2015, 48, 510–519 (https://github.com/silx-kit/pyFAI/)
Installation
In the near future, pygix will be available via PIP. In the meantime, download the source code in .zip format from the github repository and unpack it.
unzip pygix-master.zip
Go to the pygix-master
directory, build and install the package:
cd pygix-master
python setup.py build install
Credits
- pygix was written by Thomas Dane with contributions and assistance from Jerome Kieffer.
- The derivation of the reciprocal space transformation was done in collaboration with Samuele Lilliu.
- pygix relies heavily on the pyFAI library.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pygix-2022.11.14.tar.gz
.
File metadata
- Download URL: pygix-2022.11.14.tar.gz
- Upload date:
- Size: 44.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d0f8c59f7036acc4e1433b21bb0c7e823ef1416bfa8a0d50c685bd6c82f36bb |
|
MD5 | de809247de9bc002dd3b50d421245a22 |
|
BLAKE2b-256 | 24a7569a5c7459afedda683b9cf1e3f8934db543aab953f950204d015cf371d5 |
File details
Details for the file pygix-2022.11.14-py3-none-any.whl
.
File metadata
- Download URL: pygix-2022.11.14-py3-none-any.whl
- Upload date:
- Size: 43.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27eb639a3df657a5ace953b07b15dabcf4f3a7fd4c0dee188cbe4b3274ae99ab |
|
MD5 | 0612ecf3c9dae72bac55c49533f93c89 |
|
BLAKE2b-256 | 3d73b4209eb0a9098c2f97d47fcf510fd7528ea6a94ef1351334c13a3f34fac5 |