CoolFace
Modelpublic

jiayangshi/synchrotron_latent_diffusion

sourceHugging Facemitupdated 7mo agoView on Hugging Face
0likes10downloads
Model Card

Latent Diffusion Model โ€“ Synchrotron (DM4CT)

This repository contains the pretrained latent-space diffusion model used in the DM4CT: Benchmarking Diffusion Models for CT Reconstruction (ICLR 2026) benchmark.

๐Ÿ”— Paper: DM4CT: Benchmarking Diffusion Models for Computed Tomography Reconstruction ๐Ÿ”— Project Page: https://dm4ct.github.io/DM4CT/ ๐Ÿ”— Codebase: https://github.com/DM4CT/DM4CT


๐Ÿ”ฌ Model Overview

This model learns a prior over CT reconstruction images in a compressed latent space using a denoising diffusion probabilistic model (DDPM).

Unlike pixel-based diffusion models, diffusion is performed in the latent space of a pretrained autoencoder.

  • โ€”Architecture:
  • โ€”VQ-VAE (image encoder/decoder)
  • โ€”2D UNet operating in latent space
  • โ€”Input resolution (image space): 768 ร— 768
  • โ€”Latent resolution: 192 ร— 192
  • โ€”Channels: 1 (grayscale CT slice)
  • โ€”Training objective: ฮต-prediction (standard DDPM formulation)
  • โ€”Noise schedule: Linear beta schedule
  • โ€”Training dataset: Synchrotron dataset of rocks (Synchrotron)
  • โ€”Intensity normalization: Rescaled to (-1, 1)

The diffusion model operates purely in latent space and relies on the autoencoder for encoding and decoding. This model is intended to be combined with data-consistency correction for CT reconstruction tasks.


๐Ÿ“Š Dataset: Synchrotron

The model was trained on a real-world high-resolution CT dataset acquired at a high-energy synchrotron facility.

Source: https://zenodo.org/records/15420527

Preprocessing steps:

  • โ€”Train/test split
  • โ€”Rescale reconstructed slices to (-1, 1)
  • โ€”No geometry information is embedded in the model

๐Ÿง  Training Details

  • โ€”Optimizer: AdamW
  • โ€”Learning rate: 1e-4
  • โ€”Hardware: NVIDIA A100 GPU
  • โ€”Training script: train_latent.py

๐Ÿš€ Usage

You can load and use this model using the diffusers library:

python
from diffusers import DiffusionPipeline
import torch

pipeline = DiffusionPipeline.from_pretrained(
    "jiayangshi/synchrotron_latent_diffusion"
)
pipeline.to("cuda")

# Generate an unconditional sample from the CT prior
# Note: For reconstruction tasks, this model is typically used with 
# a custom solver incorporating CT data consistency.
output = pipeline()
image = output.images[0]
image.save("reconstruction_prior.png")

๐Ÿ“ Citation

bibtex
@inproceedings{
shi2026dmct,
title={{DM}4{CT}: Benchmarking Diffusion Models for Computed Tomography Reconstruction},
author={Shi, Jiayang and Pelt, Dani{\in d}l M and Batenburg, K Joost},
booktitle={The Fourteenth International Conference on Learning Representations},
year={2026},
url={https://openreview.net/forum?id=YE5scJekg5}
}