This project is a part of the larger X-ray tomographic reconstruction toolbox comprised of flexDATA, flexTOMO and flexCALC. flexDATA contains IO routines that were originally developed for the Flex-Ray X-ray CT scanner but can be used for reading and writing data from other types of CT scanners. It provides an interface between a scanner and a GPU-based CT reconstruction ASTRA Toolbox. It can be especially helpful when the scanner has many degrees of freedom and the geometry of each scan is defined by a large number of parameters.
It takes a few steps to setup flexDATA on your machine. We recommend that the user installs conda package manager for Python 3.
conda install flexdata -c cicwi -c astra-toolbox -c nvidia
pip install flexdata
git clone https://github.com/cicwi/flexdata.git
cd flexdata
pip install -e .
To learn about the functionality of the package check out our examples/
folder. Examples are separated into blocks that are best to run in VS Code / Spyder environment step-by-step.
flexDATA is comprised of the following modules:
flexdata.data
: Read / write raw projection stacks (tiffs), parse settings file of the scanner to produce meta data.flexdata.geometry
: Geometry classes (circular, helical and linear).flexdata.display
: Simple display routines for 3D arrays
Typical usage:
# Import:
from flexdata import data
# Read raw projections and flat field images:
proj = data.read_tiffs(path, file_name)
flat = data.read_tiffs(path, file_name)
# Read metadata:
geom = data.read_flexraylog(path)
# Generate an ASTRA-compatible projection geometry description:
proj_geom = geom.astra_proj_geom(proj.shape)
- Alexander Kostenko - Initial work
- Allard Hendriksen - Packaging and installation
- Jan-Willem Buurlage - Packaging and installation
- Willem Jan Palenstijn - Packaging, installation and maintenance
- Alexander Skorikov - Packaging, installation and maintenance
See also the list of contributors who participated in this project.
Contributions are always welcome. If you have any issues, questions, or remarks, then please open an issue on GitHub.
This project is licensed under the GNU GENERAL PUBLIC License - see the LICENSE.md file for details
- To Willem Jan Palenstijn for endless advices regarding the use of ASTRA toolbox.