photon-thinning-bridge is an open-weight model from Shiyu Xie, released under MIT License. Its published files total 1.7 GB.
Dose-conditioned networks trained on the photon-thinning bridge, whose forward process removes detected photons by binomial thinning, so every state of the process is distributed as a scan acquired at a lower dose.
Model Card
By Shiyu Xie, published under mit, revision e0a841c53bdd.
Dose-conditioned networks trained on the photon-thinning bridge, whose forward process removes detected photons by binomial thinning, so every state of the process is distributed as a scan acquired at a lower dose. One checkpoint covers a calibrated range of doses: the network takes a low-dose reconstruction together with the dose coordinate t and predicts the full-dose image. bridge2detect.pt and bridgeldct.pt produce the simulated-dose results of the paper; bridgeldct.pt is also the model evaluated on the official Mayo reduced-dose projections. bridge2detectfano.pt is trained at the Fano-corrected effective counts Ieff = I0 / F and is the model evaluated on the 3.3%-current 2DeteCT scans.…
Read Shiyu Xie's full model card
Photon-Thinning Bridge for Low-Dose CT Reconstruction
Dose-conditioned networks trained on the photon-thinning bridge, whose forward process removes detected photons by binomial thinning, so every state of the process is distributed as a scan acquired at a lower dose. One checkpoint covers a calibrated range of doses: the network takes a low-dose reconstruction together with the dose coordinate t and predicts the full-dose image.
Code: https://github.com/ShiyuXie0116/photon-thinning-bridge
Checkpoints
| File | Dataset | Dose range | Reconstruction operator | Parameters | Size |
|---|---|---|---|---|---|
bridge_2detect.pt |
2DeteCT | alpha = 0.01 (100x), uniform knots | damped LSMR, 50 iterations, damping 1e-2 | 54.7M | 219 MB |
bridge_ldct.pt |
Mayo LDCT | alpha = 0.1 (10x), uniform knots | Hann-filtered FBP in HU | 27.7M | 111 MB |
bridge_2detect_fano.pt |
2DeteCT | alpha = 0.028, geometric knots | damped LSMR, 50 iterations, damping 1e-2 | 54.7M | 219 MB |
bridge_2detect.pt and bridge_ldct.pt produce the simulated-dose results of the paper; bridge_ldct.pt is also the model evaluated on the official Mayo reduced-dose projections. bridge_2detect_fano.pt is trained at the Fano-corrected effective counts I_eff = I0 / F and is the model evaluated on the 3.3%-current 2DeteCT scans.
Each file holds the weights under the key model and a config dictionary with the setting it was trained for. A matching .json file repeats the configuration.
Usage
import torch
from baselines.train_bridge import build as build_bridge # from the code repository
ckpt = torch.load("bridge_ldct.pt", map_location="cpu")
net, dose_conditioned = build_bridge(ckpt["config"]["arch"])
net.load_state_dict(ckpt["model"])
net.eval()
# x1: low-dose reconstruction, per-slice normalized to [0, 1], shape (B, 1, 256, 256)
# t: dose coordinate, t = log(I0 / I) / log(1 / alpha); t = 1 at the lowest calibrated dose
x0_hat = net(x1, t)
The reported numbers use the five-step equal-improvement sampler of the paper, which averages the predictions along the reverse trajectory; a single call at t = 1 is within about 0.05 dB of it at the training dose.
Results
At the training dose (2DeteCT alpha = 0.01, 100 test slices; LDCT alpha = 0.1, 688 test slices):
| Model | PSNR | SSIM | VIF |
|---|---|---|---|
| 2DeteCT low-dose input | 32.69 | 0.737 | 0.512 |
bridge_2detect.pt |
41.87 | 0.970 | 0.755 |
| LDCT low-dose input | 33.36 | 0.799 | 0.562 |
bridge_ldct.pt |
41.09 | 0.958 | 0.733 |
On data outside the thinning simulation:
| Model | Test data | PSNR | SSIM | VIF |
|---|---|---|---|---|
bridge_ldct.pt |
official Mayo reduced-dose projections, 10% of routine dose | 39.57 | 0.947 | 0.695 |
bridge_2detect_fano.pt |
2DeteCT scans at 3.3% tube current | 30.22 | 0.872 | 0.671 |
Across the dose sweep (2DeteCT 1-40%, LDCT 10-36%) one checkpoint, queried with the known dose, stays above the best network retrained at each dose by +0.09 to +0.43 dB on 2DeteCT and +0.11 to +0.14 dB on LDCT.
Baseline checkpoints
baselines/ holds the competing methods of the paper. These are our own trainings of the published architectures on the same data and splits, not weights released by their authors.
| Folder | Setting | Paper |
|---|---|---|
baselines/2detect/ |
2DeteCT, alpha = 0.01 | 2DeteCT columns of Tables 1 and 2 |
baselines/ldct/ |
Mayo LDCT, alpha = 0.1 | LDCT columns of Tables 1 and 2, and the LDCT column of Table 3 |
baselines/2detect_fano/ |
2DeteCT at the Fano-corrected effective counts | 2DeteCT column of Table 3 |
Each folder contains dncnn, edcnn, redcnn, mapnn, restormer, nafnet, drunet, unet_res (the residual U-Net of FBPConvNet) and wganvgg, from 0.06M to 32.7M parameters. They are loaded like the bridge checkpoints but take no dose coordinate:
ckpt = torch.load("baselines/ldct/redcnn.pt", map_location="cpu")
net, _ = build_bridge(ckpt["config"]["arch"])
net.load_state_dict(ckpt["model"])
x0_hat = net(x1)
BM3D needs no weights. CoreDiff was trained with the authors' official code and is not redistributed here; the diffusion-prior baseline uses a separate prior model.
Training data
The models were trained on thinned trajectories simulated from two public collections: 2DeteCT (experimentally acquired fan-beam scans of objects, no human subjects) and the Mayo Clinic low-dose CT and projection data distributed through The Cancer Imaging Archive. No data are redistributed here; only model weights.
Intended use and limitations
Research use. The networks were trained on 256x256 reconstructions from the two geometries above and expect inputs produced by the same reconstruction operator and normalization; behaviour on other scanners, slice thicknesses or reconstruction filters is untested. The forward process assumes ideal Poisson counting, corrected for energy-integrating detectors through an effective count. Not a medical device and not for clinical use.
Identity and Version
- Repository
- shiyuxie/photon-thinning-bridge
- Publisher
- Shiyu Xie
- Task
- Not stated by the source
- Modality
- Other
- Library
- Not stated by the source
- Parameters
- Not stated by the source
- Languages
- Not stated by the source
- Revision
- e0a841c53bdd15101cf162f1ec0d9dff82ac5600
- First published
- 2026-09-23
- Last updated
- 2026-09-23
Files and Weights
62 files, 1.7 GB in total. The weights are 30 files totalling 1.7 GB in pt.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| baselines/2detect/dncnn.pt | Weights | 2.3 MB | b9a996eb0cbb |
| baselines/2detect/drunet.pt | Weights | 130.6 MB | 7e3db4c97dc1 |
| baselines/2detect/edcnn.pt | Weights | 420.8 KB | adc6734b5fcf |
| baselines/2detect/mapnn.pt | Weights | 958.1 KB | 0770086cefb6 |
| baselines/2detect/nafnet.pt | Weights | 116.8 MB | 1bc4625eed2c |
| baselines/2detect/redcnn.pt | Weights | 7.4 MB | 5d82f13db202 |
| baselines/2detect/restormer.pt | Weights | 26.9 MB | 9dc5e4a9e0a3 |
| baselines/2detect/unet_res.pt | Weights | 87.5 MB | 28b635d22144 |
| baselines/2detect/wganvgg.pt | Weights | 230.0 KB | f4e39e8f7bce |
| baselines/2detect_fano/dncnn.pt | Weights | 2.3 MB | c344b2cf4093 |
| baselines/2detect_fano/drunet.pt | Weights | 130.6 MB | e1d414856f30 |
| baselines/2detect_fano/edcnn.pt | Weights | 420.8 KB | e34494f249ce |
| baselines/2detect_fano/mapnn.pt | Weights | 958.2 KB | 7d74bad1b9bf |
| baselines/2detect_fano/nafnet.pt | Weights | 116.8 MB | edeed399ee07 |
| baselines/2detect_fano/redcnn.pt | Weights | 7.4 MB | a3f61fd71f97 |
| baselines/2detect_fano/restormer.pt | Weights | 26.9 MB | c7f59b90cd49 |
| baselines/2detect_fano/unet_res.pt | Weights | 87.5 MB | 337ab92ec106 |
| baselines/2detect_fano/wganvgg.pt | Weights | 230.1 KB | aa4fe3c37084 |
| baselines/ldct/dncnn.pt | Weights | 2.3 MB | 9ec0cf8e56da |
| baselines/ldct/drunet.pt | Weights | 130.6 MB | f5f70affd027 |
| baselines/ldct/edcnn.pt | Weights | 420.8 KB | a7e627ff9912 |
| baselines/ldct/mapnn.pt | Weights | 958.1 KB | d49b071a17f3 |
| baselines/ldct/nafnet.pt | Weights | 116.8 MB | 395156eb1ea2 |
| baselines/ldct/redcnn.pt | Weights | 7.4 MB | 5bcf15cdb1e3 |
| baselines/ldct/restormer.pt | Weights | 26.9 MB | c82802e84b95 |
| baselines/ldct/unet_res.pt | Weights | 87.5 MB | b965b88c64cd |
| baselines/ldct/wganvgg.pt | Weights | 230.1 KB | ffd9ebf5ce9d |
| bridge_2detect.pt | Weights | 218.8 MB | 21774e6cf432 |
| bridge_2detect_fano.pt | Weights | 218.8 MB | 65e731ca3e7d |
| bridge_ldct.pt | Weights | 111.0 MB | 2e404b5470fa |
| baselines/2detect/dncnn.json | Configuration | 203 B | — |
| baselines/2detect/drunet.json | Configuration | 207 B | — |
| baselines/2detect/edcnn.json | Configuration | 203 B | — |
| baselines/2detect/mapnn.json | Configuration | 204 B | — |
| baselines/2detect/nafnet.json | Configuration | 207 B | — |
| baselines/2detect/redcnn.json | Configuration | 207 B | — |
| baselines/2detect/restormer.json | Configuration | 212 B | — |
| baselines/2detect/unet_res.json | Configuration | 221 B | — |
| baselines/2detect/wganvgg.json | Configuration | 207 B | — |
| baselines/2detect_fano/dncnn.json | Configuration | 245 B | — |
| baselines/2detect_fano/drunet.json | Configuration | 249 B | — |
| baselines/2detect_fano/edcnn.json | Configuration | 245 B | — |
| baselines/2detect_fano/mapnn.json | Configuration | 246 B | — |
| baselines/2detect_fano/nafnet.json | Configuration | 249 B | — |
| baselines/2detect_fano/redcnn.json | Configuration | 249 B | — |
| baselines/2detect_fano/restormer.json | Configuration | 254 B | — |
| baselines/2detect_fano/unet_res.json | Configuration | 263 B | — |
| baselines/2detect_fano/wganvgg.json | Configuration | 249 B | — |
| baselines/ldct/dncnn.json | Configuration | 214 B | — |
| baselines/ldct/drunet.json | Configuration | 218 B | — |
| baselines/ldct/edcnn.json | Configuration | 214 B | — |
| baselines/ldct/mapnn.json | Configuration | 215 B | — |
| baselines/ldct/nafnet.json | Configuration | 218 B | — |
| baselines/ldct/redcnn.json | Configuration | 218 B | — |
| baselines/ldct/restormer.json | Configuration | 223 B | — |
| baselines/ldct/unet_res.json | Configuration | 232 B | — |
| baselines/ldct/wganvgg.json | Configuration | 218 B | — |
| bridge_2detect.json | Configuration | 356 B | — |
| bridge_2detect_fano.json | Configuration | 432 B | — |
| bridge_ldct.json | Configuration | 353 B | — |
| README.md | Documentation | 5.2 KB | — |
| .gitattributes | Repository | 1.5 KB | — |
License and Download
- License
- mit
- Access
- Open weights, no gate
- Download size
- 1.7 GB
Released by Shiyu Xie through its official repository on Hugging Face. Read the license.
Memory Requirements
| Precision | Weights in memory |
|---|---|
| As published | 1.7 GB |
Weights only, from the published parameter count; the key-value cache and runtime add to this.
Questions About photon-thinning-bridge
Can I use photon-thinning-bridge commercially?
Yes. photon-thinning-bridge is released under MIT License. The MIT License is a short permissive license. It permits commercial use, modification and redistribution, provided the copyright notice and permission notice are included.