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 |
||
Limited angle |
128 |
Low |
||
Noisy |
1536 |
High |
||
Missing wedge |
1024 |
Low |
Angular range of 120 degrees |
|
Blur |
128 |
Low |
Simulates continuous rotation |
|
Artifacts |
512 |
Medium |
Additional ring artifacts and outliers |
|
Expanding |
3072 (24 sets of 128) |
Low |
Sample expands during acquisition over 24 x 180 degrees |
The following datasets are provided:
Data ID |
Sample name |
Acquisition mode |
---|---|---|
Foam 1 |
HQ |
|
Foam 1 |
Limited angle |
|
Foam 1 |
Noisy |
|
Foam 1 |
Missing wedge |
|
Foam 1 |
Blur |
|
Foam 1 |
Artifacts |
|
Foam 1 |
Expanding |
|
Foam 2 |
Limited angle |
|
Foam 3 |
Noisy |
|
Foam 4 |
Missing wedge |
|
Foam 5 |
Blur |
|
Foam 6 |
Artifacts |
|
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 |
XDesign |
Foam 00008 |
||||
XDesign |
Foam 00009 |
||||
XDesign |
Foam 00010 |
||||
XDesign |
Foam 00011 |