Benchmarking Deep Learning-Based Low Dose CT Image Denoising Algorithms
Why low dose CT?
Computed tomography (CT) is an important imaging modality, with numerous applications including biology, medicine, and nondestructive testing. However, the use of ionizing radiation remains a key concern and thus clinical CT scans must follow the ALARA (as low as reasonably achievable) principle. Therefore, reducing the dose and thus radiation risk is of utmost importance and one of the primary research areas in the field. A straightforward way to reduce dose is by lowering the tube current (i.e., reducing the X-Ray intensity). However, this comes at the cost of deteriorated image quality due to increased image noise and thus potentially reduced diagnostic value. To alleviate this drawback, numerous algorithms have been proposed to solve the task of low-dose CT (LDCT) denoising, i.e., reducing image noise in the reconstructed image.
Why this project?
We found that LDCT denoising algorithms proposed in the literature are difficult to compare due to the following reasons:
Different datasetes: Most LDCT denoising methods are trained and evaluated on (subsets of) one of the following two datasets
- 2016 NIHAAPMMayo Clinic LDCT Grand Challenge
- LDCT and Projection data
However, authors of each method employ their own training, validation, and test split and thus reported metrics are not comparable across publications.
Unfair choice of hyperparameters: Very few publications in the field report the use of hyperparameter optimization. And even if some form of hyperparameter optimization is employed, this is usually limited to the newly proposed method. For the comparison methods, authors often use the hyperparameters reported in the reference. However, the optimal hyperparameters for a given method may be dataset-specific, meaning that the parameters tuned by authors $A$ for their dataset $\mathcal{D}_A$ might not generalize to another dataset $\mathcal{D}_B$ used by authors $B$ in their experiments.
Missing open source implementations: Many authors don't provide open-source implementations of their algorithms and thus researchers are often left to implement comparison methods themselves. This increases the chance of errors and generally hinders reproducibility.
Inadequate metrics: Most LDCT denoising methods are evaluated using SSIM, peak signal-to-noise ratio (PSNR), or root-mean-square error (RMSE). While these are common metrics to quantify performance for natural image denoising, they are usually not in agreement with human readers for medical images.
Therefore, the aim of this project is to
- provide a unified benchmark suite which serves as a reference for existing LDCT denoising algorithms (including optimal hyperparameters) and allows for a fair and reproducible comparison of new methods.
- make these algorithms easily accessible for practitioners by providing the trained models together with utility functions to denoise CT images.
- establish novel metrics for the evaluation of LDCT denoising algorithms.
Documentation
Please read our documentation for details on installation and usage of this project.
Contribute an algorithm
We welcome contributions of novel denoising algorithms. For details on how to do so, please check out our contributing guide or reach out to me.
Reference
If you find this project useful for your work, please cite our Medical Physics paper:
E. Eulig, B. Ommer, and M. Kachelrieß, “Benchmarking deep learning-based low-dose CT image denoising algorithms,” Medical Physics, vol. 51, no. 12, pp. 8776–8788, Dec. 2024.
@article{ldctbench-medphys,
title = {Benchmarking deep learning-based low-dose CT image denoising algorithms},
author = {Eulig, Elias and Ommer, Björn and Kachelrieß, Marc},
journal = {Medical Physics},
volume = {51},
number = {12},
pages = {8776-8788},
doi = {https://doi.org/10.1002/mp.17379},
url = {https://aapm.onlinelibrary.wiley.com/doi/abs/10.1002/mp.17379},
year = {2024}
}
Metadata
Release files for ldct-benchmark 0.0.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ldct_benchmark-0.0.15.tar.gz | 55.3 kB | Without provenance | Details for ldct_benchmark-0.0.15.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ldct_benchmark-0.0.15-py3-none-any.whl | Python 3 | none | any | Details for ldct_benchmark-0.0.15-py3-none-any.whl |
Total release size: 122.0 kB
Release files / ldct_benchmark-0.0.15.tar.gz
| Download URL | ldct_benchmark-0.0.15.tar.gz |
|---|---|
| Size | 55.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce4adbb3899a089b8e502d1d6b9e86211a7f8d7507346a3833f455d90e227cf5
|
|
BLAKE2b-256 checksum How to use checksums |
1626319a31e41b15181100d5f6ab016617587f51f61f99543109d0bf06418040
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|
Release files / ldct_benchmark-0.0.15-py3-none-any.whl
| Download URL | ldct_benchmark-0.0.15-py3-none-any.whl |
|---|---|
| Size | 66.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
184b865298b1db0869cb895cdd86255135b255564e050b3a2db65d85a4b6c22a
|
|
BLAKE2b-256 checksum How to use checksums |
19de7dbc9edcbffeee125e50c3adb7df2f99403ef2ec1515e11cf0803121da36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|
Security for ldct-benchmark 0.0.15
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.