Foam

Challenge

These phantoms were first added to TomoBank to be used as part of TomoChallenge, please see https://tomochallenge.github.io/ for more details and for information about how you can participate. The phantoms were generated using the foam_ct_phantom package, version 1.0.0. Projection data was generated for a virtual PCO.edge 5.5 detector in 2x2 binning mode, resulting in projections of 1080x1280 pixels. Data is provided for multiple simulated phantoms, with various types of data limitations. For one sample (Foam 1), data is provided for all data limitations, in addition to a high-quality dataset with many projections and limited noise. For other samples, only limited data is given.

Each dataset consists of a HDF5 file with two entries: projs is the projections data (already flatfielded and linearized) and angs is a list of projection angles in radians. An example script that reconstructs a dataset with the ASTRA toolbox is available here.

Data for the following acquisition modes are included:

Acquisition mode

Number of projections

Noise level

Image

Comments

HQ

1536

Low

foam_phantom_hq

Limited angle

128

Low

foam_phantom_lowangle

Noisy

1536

High

foam_phantom_noisy

Missing wedge

1024

Low

foam_phantom_wedge

Angular range of 120 degrees

Blur

128

Low

foam_phantom_blur

Simulates continuous rotation

Artifacts

512

Medium

foam_phantom_artifacts

Additional ring artifacts and outliers

Expanding

3072 (24 sets of 128)

Low

foam_phantom_dynamic

Sample expands during acquisition over 24 x 180 degrees

The following datasets are provided:

Data ID

Sample name

Acquisition mode

phan_00016

Foam 1

HQ

phan_00017

Foam 1

Limited angle

phan_00018

Foam 1

Noisy

phan_00019

Foam 1

Missing wedge

phan_00020

Foam 1

Blur

phan_00021

Foam 1

Artifacts

phan_00022

Foam 1

Expanding

phan_00023

Foam 2

Limited angle

phan_00024

Foam 3

Noisy

phan_00025

Foam 4

Missing wedge

phan_00026

Foam 5

Blur

phan_00027

Foam 6

Artifacts

phan_00028

Foam 7

Expanding

Further information about the generation of the various datasets is deliberately not given until the associated reconstruction challenge has concluded.

XDesign

These phantom use XDesign version 0.2.0.dev0+1d67599 are generated as follows:

ccd_x = 256
ccd_y = 1
n_proj = 512

phantom_00008 = xdesign.Foam(size_range=[0.05, 0.01], gap=0, porosity=1)
phantom_00009 = xdesign.Foam(size_range=[0.07, 0.01], gap=0, porosity=0.75)
phantom_00010 = xdesign.Foam(size_range=[0.1, 0.01], gap=0, porosity=0.5)
phantom_00011 = xdesign.Foam(size_range=[0.1, 0.01], gap=0.015, porosity=0.5)

The ground truth, sinogram and projection are obtained with:

ground_truth = discrete_phantom(phantom, ccd_x, prop='mass_atten')

sino, probe = sinogram(n_proj, ccd_x, phantom)
proj = np.expand_dims(sino, 1)

To load the phantom data sets and perform a basic reconstruction using tomopy you may run the phantom Jupyter notebook example on your local machine or run the equivalent Python scripts from here.

Phantom ID

Facility

Sample

Ground Truth

Grirec

Downloads

phan_00008

XDesign

Foam 00008

gt00008

rec00008

gen_script.py

phan_00009

XDesign

Foam 00009

gt00009

rec00009

gen_script.py

phan_00010

XDesign

Foam 00010

gt00010

rec00010

gen_script.py

phan_00011

XDesign

Foam 00011

gt00011

rec00011

gen_script.py