CTL  0.6.1
Computed Tomography Library
Welcome to Computed Tomography Library

Computed Tomography Library (CTL)

Platform independent C++ toolkit for computed tomography simulations.

Installation (Debian-based platform)

Step 0: install GCC (if no compiler installed)

apt install build-essential

Step 1: install Qt libraries

apt install qt5-default

Step 2: install OpenCL driver

e.g. in case of a Nvidia GPU:

apt install nvidia-opencl-dev

Step 2b: get OpenCL headers (if not already there)

apt install opencl-headers

Step 4: compile a project

We use the qmake build system. You may check out our examples in the examples folder, where you can find a project file (.pro) for each example. To build an example you can run the following commands:

cd /path/to/source (where the .pro file lives)
mkdir build
cd build
qmake ..
make

Step 5: use only modules that you need

The CTL provides several modules. According to your needs, you can select only a subset of modules. Each module has a corresponding .pri file that you can include into your qmake project (.pro file) using the syntax

include(example_module.pri)

Module are subdivided into submodules. So far, the following modules are available:

  • ctl.pri
    • ctl_core.pri: the core library
    • den_file_io.pri: .den file handling
    • nrrd_file_io.pri: .nrrd file handling
  • ctl_ocl.pri
    • ocl_config.pri: uniform OpenCL environment/configuration
    • ocl_routines.pri: OpenCL based algorithms (e.g. cone-beam projectors or Radon transform)
  • ctl_qtgui
    • gui_widgets.pri: widgets for visualization purposes
    • gui_widgets_3d.pri: widgets for 3d visualization purposes
    • gui_widgets_charts.pri: widgets for plotting x-y-dataseries and models
    • gui_widgets_ocl.pri: widgets depending on OpenCL
  • ctl_nlopt
    • regist.pri: registration of projection images, in particular by using Grangeat-based data consistency conditions

Install Qt3D for the GUI

Screenshot of a GUI that uses the AcquisitionVisualizerWidget (widget from the ctl_qtgui.pri module)

For the 3d visualization widgets you need to install the Qt3D module (Qt version >= 5.9 required):

apt install qt3d5-dev

As an IDE, Qt Creator is recommended:

apt install qtcreator

We thank our admin Viktor Sayenko for hosting this website on https://www.stimulate.de/ctl.