Vanilla nnU-Net compatible and README updates
Browse files
GLOW-FDG/fold_0/checkpoint_final.pth
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8f688e4a5ef8614b8bfb185a29ecf4072185ad16dd98fc2cd28486e8c637213a
|
| 3 |
+
size 409647917
|
GLOW-FDG/fold_1/checkpoint_final.pth
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1c3d51495bc8d192064ec13d7ea9270dd2e7847141f2cbb921c126ec3d21e6ac
|
| 3 |
+
size 409647917
|
GLOW-FDG/fold_2/checkpoint_final.pth
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:224c7f00e38af5098c1d54ad271c744a397d7cd41e096609885e2b06c50fa9fa
|
| 3 |
+
size 409647917
|
GLOW-FDG/fold_3/checkpoint_final.pth
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6f5a986370c834afe26a5dfc561c22035f427f0eda60cfa65f88136676276ec3
|
| 3 |
+
size 409647917
|
GLOW-FDG/fold_4/checkpoint_final.pth
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:eca663ec68cf08b0a9b72cc328e9c1536173990265def3bb46477d478f4d5565
|
| 3 |
+
size 409647917
|
README.md
CHANGED
|
@@ -84,7 +84,7 @@ pip install nnunetv2
|
|
| 84 |
```python
|
| 85 |
from huggingface_hub import snapshot_download
|
| 86 |
|
| 87 |
-
model_dir = snapshot_download(repo_id="
|
| 88 |
# model_dir/GLOW-FDG/ now contains dataset.json, plans.json and fold_0..fold_4
|
| 89 |
```
|
| 90 |
|
|
@@ -94,12 +94,14 @@ Each case must contain two co-registered channels following the nnU-Net naming c
|
|
| 94 |
|
| 95 |
```
|
| 96 |
input_folder/
|
| 97 |
-
CASE001_0000.nii.gz # CT
|
| 98 |
-
CASE001_0001.nii.gz # PET (
|
| 99 |
```
|
| 100 |
|
| 101 |
PET intensities **must** be converted to body-weight SUV before inference.
|
| 102 |
|
|
|
|
|
|
|
| 103 |
### 4. Run inference
|
| 104 |
|
| 105 |
```python
|
|
@@ -132,6 +134,18 @@ predictor.predict_from_files(
|
|
| 132 |
|
| 133 |
The output is a binary NIfTI mask per case where `1` denotes predicted FDG-avid cancer lesions.
|
| 134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 135 |
## Training Data
|
| 136 |
|
| 137 |
GLOW-FDG was trained on 1,563 FDG-PET/CT scans pooled from public and institutional sources, including AutoPET, HECKTOR, DEEP-PSMA, ACRIN-HNSCC, HN-PET-CT, NSCLC-RadGen, TCIA-STS, SAKK, and the SINERGIA melanoma cohort. All cases were manually reviewed to verify PET–mask correspondence, lesion completeness, and PET visibility. Organ labels for the auxiliary head were generated with [TotalSegmentator](https://github.com/wasserth/TotalSegmentator).
|
|
|
|
| 84 |
```python
|
| 85 |
from huggingface_hub import snapshot_download
|
| 86 |
|
| 87 |
+
model_dir = snapshot_download(repo_id="mrokuss/GLOW-FDG")
|
| 88 |
# model_dir/GLOW-FDG/ now contains dataset.json, plans.json and fold_0..fold_4
|
| 89 |
```
|
| 90 |
|
|
|
|
| 94 |
|
| 95 |
```
|
| 96 |
input_folder/
|
| 97 |
+
CASE001_0000.nii.gz # CT (Hounsfield units)
|
| 98 |
+
CASE001_0001.nii.gz # PET (body-weight SUV)
|
| 99 |
```
|
| 100 |
|
| 101 |
PET intensities **must** be converted to body-weight SUV before inference.
|
| 102 |
|
| 103 |
+
> **Why does `dataset.json` list both channels as `"CT"`?** nnU-Net uses the `"CT"` channel name as a signal to apply `CTNormalization`, which assumes inputs are in absolute physical units (no per-case rescaling). Both Hounsfield units (CT) and body-weight SUV (PET) are absolute units, so the same normalization scheme is applied to both — this is intentional and **not** a mistake. Channel `_0000` is still CT and channel `_0001` is still PET; the label is only about which normalization scheme nnU-Net selects.
|
| 104 |
+
|
| 105 |
### 4. Run inference
|
| 106 |
|
| 107 |
```python
|
|
|
|
| 134 |
|
| 135 |
The output is a binary NIfTI mask per case where `1` denotes predicted FDG-avid cancer lesions.
|
| 136 |
|
| 137 |
+
### Alternative: nnU-Net CLI
|
| 138 |
+
|
| 139 |
+
If you prefer the standard nnU-Net command-line interface, point `nnUNetv2_predict_from_modelfolder` directly at the downloaded `GLOW-FDG/` folder — no `nnUNet_results` directory layout required:
|
| 140 |
+
|
| 141 |
+
```bash
|
| 142 |
+
nnUNetv2_predict_from_modelfolder \
|
| 143 |
+
-i input_folder \
|
| 144 |
+
-o output_folder \
|
| 145 |
+
-m /path/to/GLOW-FDG \
|
| 146 |
+
-f 0 1 2 3 4
|
| 147 |
+
```
|
| 148 |
+
|
| 149 |
## Training Data
|
| 150 |
|
| 151 |
GLOW-FDG was trained on 1,563 FDG-PET/CT scans pooled from public and institutional sources, including AutoPET, HECKTOR, DEEP-PSMA, ACRIN-HNSCC, HN-PET-CT, NSCLC-RadGen, TCIA-STS, SAKK, and the SINERGIA melanoma cohort. All cases were manually reviewed to verify PET–mask correspondence, lesion completeness, and PET visibility. Organ labels for the auxiliary head were generated with [TotalSegmentator](https://github.com/wasserth/TotalSegmentator).
|