--- 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} } ```