Skip to the content.

Welcome to the TomoPy benchmarking repository

Introduction

This website contains all of the benchmarking data for the latest stable version of TomoPy. If you are interested in older versions, go to the tomopy.github.io repository.

These benchmarks are designed to give the reader the information they need to make an informed decision about which of TomoPy’s reconstruction algorithms are right for their particular project. To accomplish that, these benchmarks contain results pertaining to the quality and speed of each reconstruction algorithm as well as the types of artifacts that may occur when using each of the algorithms.

Results

To see how the iterative reconstruction algorithms improve with each iteration, you see the summary graph after each benchmark. To quantitatively measure quality, we use the multi-scale structural similarity index (MS-SSIM) because it has been shown to have a stronger correlation to human perceptions of quality than simpler quality measures like the mean-squared error. The MS-SSIM measures the similarity between two images. In this case, it measures the reconstructed image against the original image shown above. The index has a range from 0 to 1, with 1 meaning images are identical and 0 meaning the images have no similarity. Because it would be impossible for the reconstructed image to perfectly match the original image, a perfect score of 1 is unattainable and, at best, an algorithm will asymptotically approach 1 as it performs more iterations.

Summary

The following graph shows how the MS-SSIM index improves over-time for the CPU algorithms.

Image

Reconstructed Images

The below table showcases the evolution of reconstructed image given by the iterative algorithms.

Algorithm Iteration 1 (1st point) Iteration 18 (7th point) Iteration 95 (11th point) Iteration 218 (13th point) Iteration 499 (15th point)
ART Image Image Image Image Image
BART Image Image Image Image Image
grad Image Image Image Image Image
MLEM Image Image Image Image Image
OSEM Image Image Image Image Image
OSPML Hybrid Image Image Image Image Image
OSPML Quad Image Image Image Image Image
PML Hybrid Image Image Image Image Image
PML Quad Image Image Image Image Image
SIRT Image Image Image Image Image
SIRT GPU Image Image Image Image Image
MLEM GPU Image Image Image Image Image
tikh Image Image Image Image Image
TV Image Image Image Image Image
astra-cgls Image Image Image Image Image
astra-em Image Image Image Image Image
astra-sart Image Image Image Image Image
astra-sirt Image Image Image Image Image
GRIDREC Filter Reconstructed Image
Butterworth Image
Cosine Image
Hamming Image
Hann Image
Parzen Image
Ramlak Image
Shepp Image

Limitations

While they are able to account for some artifacts, these benchmarks currently do not account for the possibility of several classes of artifacts that may occur in realistic conditions.

Included artifacts

Excluded artifacts

Data generation

The data is generated using the routines provided by the turbo-couscous repository.

Organization

The benchmarking data is organized as follows: