Read the input in float32, clip it to [-1024, max] instead of [-1024, 5000] and drop the int16 cast. MRIs stored with an offset (e.g. +32768) or with values above 5000 were flattened before normalization. Normal MRIs change by 0.2 HU on average; CBCT predictions are unchanged.
The apps declare no `vram_plan` any more and their `Prediction.yml` says `batch_size: 0`: konfai measures the batch its forward fits on the GPU (one patch at a time on a CPU). Needs the konfai release that measures the batch: an older konfai refuses a batch of 0.
The README becomes the TotalSynth card (arXiv:2609.13838): the four apps, the
training data, the held-out performance overall and by region, the external
BIC-MAC evaluation before and after fine-tuning, usage from Slicer, the command
line and konfai-apps fine-tune, and what an app does at inference.
The app.json short and long descriptions now cite the TotalSynth paper. The
Finetune app is described as the MR model fine-tuned on BIC-MAC whole-body
Dixon MRI, and its input is labelled MR.
images_log, Dataset.filter, Dataset.use_cache, Dataset.Patch.mask,
OutputDataset.inverse_transform, Predictor.Concat, the Evaluator's
is_input/patch_transforms and StepLR's verbose: nothing binds them
since konfai 1.8.2, so every run printed an unknown-key warning.
Found by building each workflow file and reading strict_config's
report; each edit checked to parse to the old tree minus those keys.
The ImpactSynth MR sCT on a test case is bit-identical before and after.
Rename ResampleToResolution to Resample, the spelling konfai 1.8 accepts
Restore the training loss the shipped prediction config lacked: MAE + SAM_Perceptual (SAM2.1) + L1 on the Tanh head vs CT, a masked MAE metric, AdamW + StepLR. Output key Tanh verified against UNetPlusPlus.yml. Enables fine_tune (was a no-op RESUME with outputs_criterions: None).
fix: log the image of the module the model exposes
data_log named Head:Tanh, a path of the former Python model; the config builds the model from UNetPlusPlus.yml, which exposes Tanh, so the sCT image was never logged.
fix: name the output group after the module the model exposes
outputs_dataset keyed on Head:Tanh, a path of the former Python model; the config builds the model from UNetPlusPlus.yml, which exposes Tanh, so prediction failed to resolve the output group.
Drop the 2077-line UNetpp.yml (replaced by block-level UNetPlusPlus.yml)