File size: 4,573 Bytes
266cae6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
---
license: cc-by-nc-4.0
library_name: pytorch
pipeline_tag: image-to-image
tags:
- computed-tomography
- interior-tomography
- ct-reconstruction
- pfgm++
- diffusion-model
- medical-imaging
---

# FORCE-Interior checkpoints

Pretrained weights for **FORCE-Interior: Measurement-Consistent Adaptation of a
Poisson-Flow Generative Prior for Interior CT**, together with the learned baselines
it is compared against.

Code: <https://github.com/Peteroos/FORCE-Interior>

## Files

| Path | Size | Model | Used by |
|---|---|---|---|
| `checkpoints/model_028.pth` | 2.3 GB | PFGM++ prior of FORCE-Interior | `run_force.py` |
| `checkpoints/roi_ct_cnn/net-epoch-200.pth` | 62 MB | ROI-CT-CNN U-Net | `run_roicnn.py` |
| `checkpoints/dds_pretrained/lodochallenge_pixel_diffusion/` | 455 MB | DDS pixel-diffusion prior (third-party, mirrored) | `run_dds.py` |
| `checkpoints/drunet/drunet_mayo.pth` | 131 MB | DRUNet denoiser for the PnP-ADMM / PnP-HQS baselines | PnP baselines |

## Download

This repository mirrors the `checkpoints/` layout that `config.py` expects. Download
it into the root of the code repository. Keep `--include`; without it this model
card overwrites the code repository's `README.md`.

```bash
git clone https://github.com/Peteroos/FORCE-Interior.git
cd FORCE-Interior
hf download Peteroos/FORCE-Interior --include "checkpoints/*" --local-dir .
```

## Model details

### PFGM++ prior — `checkpoints/model_028.pth`

- Unconditional PFGM++ prior on 512 × 512 full-dose CT slices from 8 patients of the
  2016 AAPM/Mayo Low Dose CT Grand Challenge: L067, L096, L109, L143, L192, L286,
  L291, L310. The test patients L333 and L506 were not used for training.
- Pixel domain: HU clipped to [-1024, 3071] and mapped linearly to [-1, 1].
- Architecture: the U-Net in `model/` with `num_res_blocks=3`,
  `channel_mult=1,2,4,8,16` (290 M parameters).
- Contents: `{"model": state_dict, "ema": [tensors in model.parameters() order]}`.
  Sample with the **EMA** weights; `load_checkpoint()` in `run_force.py` does this.

### ROI-CT-CNN — `checkpoints/roi_ct_cnn/net-epoch-200.pth`

- U-Net post-processing of the truncated FBP (Han & Ye, *Med. Phys.* 2019),
  trained by us on full-dose Mayo CT at an ROI radius of 128 px for 200 epochs.
- Network: `baselines/roi_ct_cnn/unet.py` (`net_type="type1"`, 64 base channels);
  attenuation is scaled so that water = 1.0.
- Contents: `{"state_dict", "opt", "epoch", "net_type"}`.
- The training/validation patient split of this checkpoint was not recorded.

### DDS prior — `checkpoints/dds_pretrained/lodochallenge_pixel_diffusion/`

- Unmodified copy of
  [`jiayangshi/lodochallenge_pixel_diffusion`](https://huggingface.co/jiayangshi/lodochallenge_pixel_diffusion)
  (revision `b7e291c2`, sha256 of the U-Net weights verified), released under the MIT
  license with [DM4CT](https://github.com/DM4CT/DM4CT) (ICLR 2026). It is mirrored
  here only so that all baselines can be fetched from one place; the upstream model
  card is kept in the folder. Please cite DM4CT when using it.
- According to the DM4CT split, L333 is in this prior's training set and L506 in
  its test set.
- Intensity normalisation used by our adapter: `baselines/dds/dm4ct_norm.json`.

### DRUNet — `checkpoints/drunet/drunet_mayo.pth`

- DRUNet (Zhang et al., DPIR, *TPAMI* 2021) with a noise-level map as second input;
  channels (64, 128, 256, 512), 4 residual blocks per level, 32.6 M parameters.
- Trained on 1369 full-dose slices from 6 patients (L109, L143, L192, L286, L291,
  L310). The validation patients (L067, L096) and test patients (L333, L506) were
  excluded.
- Same [-1, 1] pixel domain as the PFGM++ prior; additive Gaussian noise with
  σ ~ U[0, 0.08] (0–164 HU); 30 000 iterations.
- Contents: `{"state_dict", "iters", "patients", "sigma_max"}`.

## Training data

All models were trained on the 2016 AAPM/Mayo Low Dose CT Grand Challenge data.
No CT images or data derived from them are distributed in this repository.

## License

The PFGM++ prior, ROI-CT-CNN and DRUNet weights are released under
[CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/). The mirrored DDS prior in
`checkpoints/dds_pretrained/` keeps its upstream MIT license.

## Citation

```bibtex
@article{chen2026forceinterior,
  title  = {{FORCE-Interior}: Measurement-Consistent Adaptation of a Poisson-Flow
            Generative Prior for Interior {CT}},
  author = {Chen, Kang and Xia, Wenjun and Wang, Jianxu and Nafee, Mahmud Wasif
            and Wang, Ge},
  note   = {Manuscript under review},
  year   = {2026}
}
```