Skip to main content

Data processing algorithms for tomography

Project description

Algotom

Data processing (ALGO)rithms for (TOM)ography.

GitHub Workflow Status Downloads Conda GitHub code size in bytes Conda GitHub issues Conda Coverage

logo

Algotom is a Python package implementing data processing methods for tomography. It has methods in a full pipeline of data processing: reading-writing data, pre-processing, tomographic reconstruction, post-processing, and data simulation. Many utility methods are provided to help users quickly develop prototype-methods or build a pipeline for processing their own data. From version 1.1, methods for speckle-based phase-contrast tomography were added to the package. The software was published for the paper: https://doi.org/10.1364/OE.418448.

Features

Algotom is a lightweight package. The software is built on top of a few core Python libraries to ensure its ease-of-installation. Methods distributed in Algotom have been developed and tested at synchrotron beamlines where massive datasets are produced. This factor drives the methods developed to be easy-to-use, robust, and practical. Algotom can be used on a normal computer to process large tomographic data. Some featuring methods in Algotom are as follows:

  • Methods in a full data processing pipeline: reading-writing data, pre-processing, tomographic reconstruction, and post-processing.

    pipe_line

  • Methods for processing grid scans (or tiled scans) with the offset rotation-axis to multiply double the field-of-view (FOV) of a parallel-beam tomography system.

    grid_scan

  • Methods for processing helical scans (with/without the offset rotation-axis).

    helical_scan

  • Methods for determining the center-of-rotation (COR) and auto-stitching images in half-acquisition scans (360-degree acquisition with the offset COR).

  • Some practical methods developed and implemented for the package: zinger removal, tilted sinogram generation, sinogram distortion correction, beam hardening correction, DFI (direct Fourier inversion) reconstruction, FBP reconstruction, and double-wedge filter for removing sample parts larger than the FOV in a sinogram.

    pipe_line

  • Utility methods for customizing ring/stripe artifact removal methods and parallelizing computational work.

  • Calibration methods for determining pixel-size in helical scans.

  • Methods for generating simulation data: phantom creation, sinogram calculation based on the Fourier slice theorem, and artifact generation.

    simulation

  • Methods for phase-contrast imaging: phase unwrapping, speckle-based phase retrieval, image correlation, and image alignment.

    speckle

  • Methods for downsampling, rescaling, and reslicing (+rotating, cropping) 3D reconstructed image without large memory usage.

    reslicing

Update notes

Author

  • Nghia T. Vo - NSLS-II, Brookhaven National Lab, USA; Diamond Light Source, UK.

How to install

  • https://algotom.readthedocs.io/en/latest/toc/section3.html
  • If users install Algotom to an existing environment and Numba fails to install due to the latest Numpy:
    • Downgrade Numpy and install Algotom/Numba again.
    • Create a new environment and install Algotom first, then other packages.
    • Use conda instead of pip.
  • Avoid using the latest version of Python or Numpy as the Python ecosystem taking time to keep up with these twos.

How to use

Highlights

Algotom was used for some experiments featured on media:

Project details


Download files

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

Source Distribution

algotom-1.3.0.tar.gz (7.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

algotom-1.3.0-py3-none-any.whl (106.0 kB view details)

Uploaded Python 3

File details

Details for the file algotom-1.3.0.tar.gz.

File metadata

  • Download URL: algotom-1.3.0.tar.gz
  • Upload date:
  • Size: 7.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for algotom-1.3.0.tar.gz
Algorithm Hash digest
SHA256 1f13682f57a56d06b06c5e969e16ecc04fa8f422c5fec2bf296b91b15509a956
MD5 db6a05512f2a17d09304b8aa54c2610e
BLAKE2b-256 33ee3397a0bb594a1d2257e6fa7605061d50a7478d0662ffd697d0c73fdb9aa1

See more details on using hashes here.

File details

Details for the file algotom-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: algotom-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 106.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for algotom-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83c3f78b03550c4ac7de987396650b0a0f927a892577289498ce7c15ed47e3e9
MD5 13034562b1092f234146ffbcf52093a5
BLAKE2b-256 ed610bba0a1884defe269b40b9255102dec06f296cc944f31e060265f6ea2bff

See more details on using hashes here.

Supported by

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