ImpactSynth / MR_CBCT /app.json
VBoussot's picture
app.json: drop redundant top-level patch_size (now read from Prediction.yml)
63a95fe verified
Raw
History Blame Contribute Delete
3.25 kB
{
"display_name": "Synthesis: MR/CBCT",
"short_description": "Supervised whole-body MR/CBCT-to-sCT model.<br><br><b>Training data:</b><br>1734 paired cases from Task 1 + Task 2.<br><br><b>How to cite:</b><br><cite>V. Boussot et al., <i>Why Registration Quality Matters: Enhancing sCT Synthesis with IMPACT-Based Registration</i>, arXiv preprint arXiv:2510.21358, <a href=\"https://doi.org/10.48550/arXiv.2510.21358\">https://doi.org/10.48550/arXiv.2510.21358</a>.</cite>",
"description": "<b>Description:</b><br>Supervised whole-body synthesis model distributed as a single checkpoint (<code>CV_0.pt</code>) for MR/CBCT-style inputs. The model follows the same 2.5D synthesis setup used in the ImpactSynth family and produces an sCT volume from a single input volume after automatic body-mask estimation and intensity normalization.<br><br><b>Architecture and loss:</b><br>2.5D UNet++ with a ResNet34 encoder, trained with KonfAI and optimized using IMPACT-Synth, a perceptual loss leveraging semantic priors from <b>SAM 2.1-s</b>.<br><br><b>Training data:</b><br>The model is trained on 1734 IMPACTReg-aligned paired synthesis cases spanning both Task 1 and Task 2 cohorts, combining MR and CBCT supervision in a unified synthesis setup.<br><br><b>Input handling:</b><br>The prediction pipeline accepts a single input volume exposed here as <code>MR or CBCT</code>, estimates a body mask automatically, resamples to the working resolution, applies normalization, and writes an averaged sCT output using test-time augmentation.<br><br><b>How to cite:</b><br><cite>V. Boussot et al., <i>Why Registration Quality Matters: Enhancing sCT Synthesis with IMPACT-Based Registration</i>, arXiv preprint arXiv:2510.21358, <a href=\"https://doi.org/10.48550/arXiv.2510.21358\">https://doi.org/10.48550/arXiv.2510.21358</a>.</cite>",
"tta": 2,
"mc_dropout": false,
"models": [
"CV_0.pt",
"CV_1.pt",
"CV_2.pt",
"CV_3.pt",
"CV_4.pt"
],
"inputs": {
"MR": {
"display_name": "MR or CBCT",
"volume_type": "VOLUME",
"required": true
}
},
"outputs": {
"sCT": {
"display_name": "sCT",
"volume_type": "VOLUME",
"required": true
}
},
"inputs_evaluations": {
"Image": {
"Evaluation.yml": {
"sCT": {
"display_name": "sCT",
"volume_type": "VOLUME",
"required": true
},
"CT": {
"display_name": "CT",
"volume_type": "VOLUME",
"required": true
}
}
}
},
"vram_plan": {
"8": {
"patch_size": [
1,
512,
512
],
"batch_size": 16
},
"16": {
"patch_size": [
1,
512,
512
],
"batch_size": 28
},
"24": {
"patch_size": [
1,
512,
512
],
"batch_size": 48
}
}
}