Pyxu X-Ray Transform Operators.
Project description
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.