Skip to content

SDCNN: Self-Supervised Disentangled Convolutional Neural Network for Low-Dose CT Denoising

Notifications You must be signed in to change notification settings

YuhangLiu98/SDCNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SDCNN

This repository contains the PyTorch implementation of the paper: SDCNN: Self-Supervised Disentangled Convolutional Neural Network for Low-Dose CT Denoising


Abstract: Low-dose computed tomography (LDCT) reduces radiation exposure but suffers from high noise, impacting image quality and diagnostic accuracy. Supervised learning has helped address this challenge but requires numerous paired datasets of LDCT and normal-dose CT (NDCT) images, which limits their clinical practice. This paper proposes a novel self-supervised disentangled convolutional neural network (SDCNN) that can directly reconstruct high-quality CT images from LDCT data without the need for a clean reference. Unlike other methods that treat noise as a uniform entity, SDCNN disentangles LDCT images into noise-free images, signal-dependent noise, and signal-independent noise, aligning with the intrinsic principles of low-dose noise generation. To enhance the purity of disentanglement, we introduce the concept of combination and re-disentanglement to establish a training framework based on SDCNN. Additionally, we design self-supervised loss functions, including novel anisotropic total variation (TV) and distance loss functions, to improve the efficiency of the denoising process. The signal-guided attention (SGA) module effectively captures the relationship between signal-dependent noise and the signal across both spatial and channel dimensions. Experiments on clinical and animal data demonstrate that the proposed method performed better than all competing state-of-the-art self-supervised algorithms in noise and artifact removal. For example, compared to self-supervised algorithms, SDCNN can improve MSSIM, PSNR, and FSIM by at least 2.26%, 1.20dB, 1.23%, and GMSD is reduced by at least 1.11% on Mayo clinical data.


Illustration


DATASET

1.The Mayo Clinic Low Dose CT by Mayo Clinic
(I can't share this data, you should ask at the URL below if you want)
https://www.cancerimagingarchive.net/collection/ldct-and-projection-data/

2.The Piglet Low Dose CT by X. Yi and P. Babyn, "Sharpness-aware low-dose CT denoising using conditional generative adversarial network" (I can't share this data, you should ask at the URL below if you want)
https://github.com/xinario/SAGAN?tab=readme-ov-file


Installation

SDCNN can be installed from source,

git clone https://github.com/YuhangLiu98/SDCNN.git
cd SDCNN/src

Then, Pytorch is required, for example,

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

Lastly, other pakages are required,

pip install -r requirements.txt

Use

  1. run python prep.py to convert 'dicom file' to 'numpy array'
  2. run python train.py to training.
  3. run python test.py to testing.

RESULT

Citation

@ARTICLE{10758838,
  author={Liu, Yuhang and Shu, Huazhong and Chi, Qiang and Zhang, Yue and Liu, Zidong and Wu, Fuzhi and Coatrieux, Jean-Louis and Liu, Yi and Wang, Lei and Zhang, Pengcheng and Gui, Zhiguo},
  journal={IEEE Transactions on Instrumentation and Measurement}, 
  title={SDCNN: Self-Supervised Disentangled Convolutional Neural Network for Low-Dose CT Denoising}, 
  year={2024},
  doi={10.1109/TIM.2024.3502758}}

Acknowlegements

Code borrows heavily from CVF-SID

About

SDCNN: Self-Supervised Disentangled Convolutional Neural Network for Low-Dose CT Denoising

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages