Voxray Logo

Fallstudien

Ressourcen

Login

EN/DE

Guide

The Voxray projection format for CT

Fabian Rückert

Fabian Rückert

- last updated on Feb 25, 2025

For your convenience we are aiming to support raw CT scanner data formats of all major scanner OEMs directly inside the Voxray software application.
If you have a custom-built CT scanner and want to use the Voxray software without us having to do the data format converting or want to otherwise experiment, you can use the Voxray projection format described on this page.


We support two different ways of specifying the projection geometry:

  • circular: for circular CT trajectories (supports helix CT).

  • astra_cone_vec: for arbitrary trajectories (matches the geometry definition of the Astra Toolbox).

The circular format allows you to specify circular CT trajectories. This includes helix CT scans. It is enabled by setting dataset_subtype=circular in the dataset.ini file.

All required data for one scan is placed into a unique directory, called the root_dir. The root_dir contains a subdirectory with all projections as well as some additional text files describing the scanner geometry. A complete dataset, ready for reconstruction, should look like this:

Voxray Projection Format

In the following, we describe the content of each file.

The ct_geometry_data.ini contains some basic information about the geometry and detector specifications.

./ct_geometry_data.ini

The dataset.ini contains some basic information about the dataset format. We support the circular and the astra_cone_vec format.

./dataset.ini

The file reco_base.ini contains some basic information for the reconstruction, which are independent of the actual reconstruction method.

./reco_base.ini

The projections.txt file contains the filename of each projection that is located in the projection_dir given in the dataset.ini. The order is important. The first row is projection 0 and thus corresponds to the geometry of projection 0. We support 16bit PNGs or TIFs. (normal intensity projections)

./projections.txt

This file is optional.

Optional text file that contains the names of the white-images of the flat field correction. The directory should be set in dataset.ini Example:

./whites.txt

This file is optional.

Optional text file that contains the names of the dark-images of the flat field correction. The directory should be set in dataset.ini

./blacks.txt

This file is optional.

An optional (binary) mask can be added for each projection, to remove some pixels from the reconstruction. The masks should be stored as 8-bit grayscale .png images in the directory masks. In each mask, a value of 0 eliminates the pixel from the reconstruction. All values > 0 indicate valid pixels. The directory should be specified in dataset.ini.

Then, create a file masks.txt, similar to the projections.txt. Each line in this file defines the mask for the projection at that index. An empty line means no mask is used for the projection. The same mask.png can be referenced in multiple lines. Example masks.txt:

./masks.txt

This file is optional.

The optional detector_shifts.txt file contains an optional detector shift (in pixel) for each projection stored as (x y) per line and projection.

./detector_shifts.txt

This file is optional.

Instead of specifying the angles via angle_step_deg and start_angle_deg, it is also possible to specify the angle for each projection explicitly using an angles.txt file. This enables specifying non-uniformly distributed angles.

./dataset.ini

./angles.txt