Pyxu X-Ray Transform Operators
pyxu_xrt provides Pyxu operators to compute samples of the X-Ray Transform in 2D and 3D.
The X-Ray Transform (XRT) of a function \(f: \mathbb{R}^{D} \to \mathbb{R}\) is defined as
where \(\mathbf{n}\in \mathbb{S}^{D-1}\) and \(\mathbf{t} \in \mathbf{n}^{\perp}\). \(\mathcal{P}[f]\) hence denotes the set of line integrals of \(f\).
Two class of algorithms exist to evaluate the XRT:
Fourier methods leverage the Fourier Slice Theorem (FST) to efficiently evaluate the XRT when multiple values of \(\mathbf{t}\) are desired for each \(\mathbf{n}\).
Ray methods compute estimates of the XRT via quadrature rules by assuming \(f\) is piecewise constant on short intervals.
The operators in pyxu_xrt allow one to efficiently evaluate samples of the XRT assuming \(f\) is a pixelized image/volume where:
the lower-left element of \(f\) is located at \(\mathbf{o} \in \mathbb{R}^{D}\),
pixel dimensions are \(\mathbf{\Delta} \in \mathbb{R}_{+}^{D}\), i.e.
In the 2D case, the parametrization is best explained by the figure below:
Installation
You can install pyxu_xrt via pip:
pip install pyxu_xrt
The host system must have CUDA 11.x or 12.x installed to use the GPU. Similarly, using drjit-backed operators on the CPU requires LLVM. If problems arise, we provide Docker receipes to easily create Pyxu developer environments.
License
Distributed under the terms of the MIT license, pyxu_xrt is free and open source software.
Issues
If you encounter any problems, please file an issue along with a detailed description.
Metadata
Release files for pyxu-xrt 0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyxu_xrt-0.7-py3-none-any.whl | Python 3 | none | any | Details |
Release files / pyxu_xrt-0.7-py3-none-any.whl
| Download URL | pyxu_xrt-0.7-py3-none-any.whl |
|---|---|
| Size | 13.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c87c1cf39bc7f366c9cbfd45385a40f09b2c21dc36662a3cfbe3869cdbdbaf31
|
|
BLAKE2b-256 checksum How to use checksums |
bf402d173dabb5bba0eb8b310d66ee6d8f987b85bbd588871643980aaf3f9eaf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.3
|