flexTOMO
This project is a part of the larger X-ray tomographic reconstruction toolbox comprised of flexDATA,, flexTOMO and flexCALC. flexTOMO provides a wrapper around the GPU-accelerated tomographic reconstruction toolbox ASTRA. The main purpose of this project is to provide an easy way to use cone-beam forward- and back-projectors. Another purpose is to collect various algebraic reconstruction algorithms, providing support for large disk-mapped arrays (memmaps) and subsets that allow to both accelerate convergence and to save RAM.
Getting Started
We recommend that the user installs conda package manager for Python 3.
Installing with conda
conda install flextomo -c cicwi -c astra-toolbox -c nvidia
Installing with pip
pip install flextomo
Installing from source
git clone https://github.com/cicwi/flextomo.git
cd flextomo
pip install -e .
Running the examples
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.
Modules
flexTOMO is comprised of two modules:
flextomo.phantom
: A very simple modelue with a few phantom object generatorsflextomo.project
: Main module that contains forward- and back-projectors, and algebraic reconstruction algorithms
Typical usage:
# Import:
import numpy
from flextomo import project
from flextomo import phantom
# Initialize projection images:
proj = numpy.zeros([512, 361, 512], dtype = 'float32')
# Define a simple projection geometry:
geom = geometry.circular(src2obj = 100, det2obj = 100, det_pixel = 0.01, ang_range = [0, 360])
# Create phantom and project into proj:
vol = phantom.abstract_nudes([512, 512, 512], geom, complexity = 10)
# Forward project:
project.forwardproject(proj, vol, geometry)
How to contribute
Contributions are always welcome. If you have any issues, questions, or remarks, then please open an issue on GitHub.
License
This project is licensed under the GNU GENERAL PUBLIC License - see the LICENSE.md file for details
Acknowledgments
To Willem Jan Palenstijn for endless advices regarding the use of ASTRA toolbox.