Skip to main content

ASTRA-based cone beam tomography reconstructions.

Project description

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 generators
  • flextomo.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)

Authors and contributors

  • Alexander Kostenko - Initial work
  • Willem Jan Palenstijn - Packaging, installation and maintenance
  • Alexander Skorikov - Packaging, installation and maintenance

See also the list of contributors who participated in this project.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

flextomo-1.0.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file flextomo-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: flextomo-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for flextomo-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77138f1bc87bd6d0f1070804af6fa5abede8ce26606e6dd8ca49c64a9bcda0bd
MD5 12fe6edc67cd5ac0fb2f2dda11cea75d
BLAKE2b-256 704d63052b19d63c1110dcbbdc20cc5918b037ee3cbd51f3565afa2e9163ca0b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page