jiayangshi's picture
Add pipeline tag and improve model card (#1)
b7e291c
---
library_name: diffusers
license: mit
pipeline_tag: image-to-image
tags:
- computed-tomography
- ct-reconstruction
- diffusion-model
- inverse-problems
- dm4ct
- sparse-view-ct
---
# Pixel Diffusion UNet – LoDoChallenge (DM4CT)
This repository contains the pretrained **pixel-space diffusion UNet** presented in the paper [DM4CT: Benchmarking Diffusion Models for Computed Tomography Reconstruction](https://huggingface.co/papers/2602.18589) (ICLR 2026).
- **Project Page:** [https://dm4ct.github.io/DM4CT/](https://dm4ct.github.io/DM4CT/)
- **Codebase:** [https://github.com/DM4CT/DM4CT](https://github.com/DM4CT/DM4CT)
- **Paper:** [DM4CT: Benchmarking Diffusion Models for Computed Tomography Reconstruction](https://huggingface.co/papers/2602.18589)
---
## πŸ”¬ Model Overview
This model learns a **prior over CT reconstruction images** using a denoising diffusion probabilistic model (DDPM). It operates directly in **pixel space** (not latent space).
- **Architecture**: 2D UNet (Diffusers `UNet2DModel`)
- **Input resolution**: 512 Γ— 512
- **Channels**: 1 (grayscale CT slice)
- **Training objective**: Ξ΅-prediction (standard DDPM formulation)
- **Noise schedule**: Linear beta schedule
- **Training dataset**: Low Dose Grand Challenge (LoDoChallenge)
- **Intensity normalization**: Rescaled to (-1, 1)
This model is intended to be combined with data-consistency correction for CT reconstruction tasks as detailed in the DM4CT benchmark.
---
## πŸ“Š Dataset: Low Dose Grand Challenge
Source: [AAPM Low Dose CT Grand Challenge](https://www.aapm.org/grandchallenge/lowdosect/)
Preprocessing steps:
- Train/test split.
- Rescale reconstructed slices to (-1, 1).
- No geometry information is embedded in the model.
The model learns an unconditional image prior over medical CT slices.
---
## 🧠 Training Details
- **Optimizer**: AdamW
- **Learning rate**: 1e-4
- **Hardware**: NVIDIA A100 GPU
- **Training script**: [train_pixel.py](https://github.com/DM4CT/DM4CT/blob/main/train_pixel.py)
---
## πŸš€ Usage
You can use this model with the `diffusers` library:
```python
from diffusers import DDPMPipeline
# Load the pretrained pipeline
pipeline = DDPMPipeline.from_pretrained("jiayangshi/lodochallenge_pixel_diffusion")
# Generate a sample (unconditional CT slice prior)
image = pipeline().images[0]
image.save("generated_ct_slice.png")
```
---
## Citation
```bibtex
@inproceedings{
shi2026dmct,
title={{DM}4{CT}: Benchmarking Diffusion Models for Computed Tomography Reconstruction},
author={Shi, Jiayang and Pelt, Dani{\"e}l M and Batenburg, K Joost},
booktitle={The Fourteenth International Conference on Learning Representations},
year={2026},
url={https://openreview.net/forum?id=YE5scJekg5}
}
```