Skip to content

Software to generate 2D/3D/4D analytical phantoms and their Radon transforms for image processing

License

Notifications You must be signed in to change notification settings

MissLikeWind/TomoPhantom

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation




TomoPhantom [1] is a toolbox written in C language to generate customisable 2D-4D phantoms (with a temporal capability) and their analytical projection data for various image processing and machine learning tasks (reconstruction, denoising, deblurring, classification, etc.).

DOI


About TomoPhantom

TomoPhantom is recommended for various image processing tasks that require extensive numerical testing: image reconstruction, denoising, deblurring, etc. Specifically, TomoPhantom is best-suited for testing various tomographic image reconstruction (TIR) methods. For TIR algorithms testing, the popular Shepp-Logan phantom is not always a good choice due to its piecewise-constant nature. This toolbox provides a simple modular approach to efficiently build customisable 2D-4D phantoms consisting of piecewise-constant, piecewise-smooth, and smooth analytical objects.

What TomoPhantom can do:

#1589F0 Generate 2D models made of Gaussians, parabolas, ellipses, cones, rectangulars

#1589F0 Generate 3D models and 4D (temporal) extensions of them

#1589F0 Calculate analytical Radon transforms of models and also their numerical projections

#1589F0 Model Gaussian or Poisson noise and some typical acquisition artifacts

#1589F0 Perform 2D-4D reconstructions avoiding 'Inverse Crime'. Reconstruct with implemented FBP and Fourier slice method or using ASTRA-toolbox or TomoPy packages.

TomoPhantom prerequisites:

  • Python (tested ver. 2.7/3.5); Cython OR
  • MATLAB
  • C compilers: GCC/MinGW/TDM-GCC/Visual Studio

Other (optional) dependencies:

Installation:

Python (conda-build is preferrable)

	conda build conda-recipe --numpy 1.12 --python 3.5
	conda install tomophantom --use-local --force

Matlab

	run compile_mex_linux.m % to compile CPU modules on linux
	run compile_mex_windows.m % to compile CPU modules on Windows

Package library modules:

  • Phantom2DLibrary.dat and Phantom3DLibrary.dat are editable text files with parametrised models (2D/3D versions of Shepp-Logan, Defrise, and QRM phantoms are included). The generation of new phantoms is highly encouraged, please submit them through pull requests or via e-mail bellow.
  • See MATLAB and Python demos

License:

TomoPhantom is released under Apache License v.2. Note that some demos where 'ASTRA-toolbox' is used are of GPLv3 license and also BSD-3 license for TomoPy package.

Related software projects on GitHub:

  • xdesign XDesign is an open-source Python package for generating configurable simulation phantoms for benchmarking tomographic image reconstruction.
  • syris Syris (synchrotron radiation imaging simulation) is a framework for simulations of X-ray absorption and phase contrast dynamic imaging experiments, like time-resolved radiography, tomography or laminography.

References:

[1] D. Kazantsev et al. 2018, TomoPhantom, a software package to generate 2D-4D analytical phantoms for CT image reconstruction algorithm benchmarks, Software X, Volume 7, January–June 2018, Pages 150–155

[2] D. Kazantsev, V. Pickalov "New iterative reconstruction methods for fan-beam tomography", IPSE, 2017

Applications:

Software related questions/comments please e-mail to Daniil Kazantsev at dkazanc@hotmail.com

About

Software to generate 2D/3D/4D analytical phantoms and their Radon transforms for image processing

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 66.2%
  • Python 21.6%
  • MATLAB 7.6%
  • CMake 4.3%
  • Other 0.3%