AMOS22 CT->MRI shared-13 SACFlow-FM runbook
This protocol uses AMOS CT as source and AMOS MRI as target. Labels 14 and 15 are mapped to background because the MRI validation split may not contain them. The resulting task has 14 classes: background 0 and foreground labels 1..13.
0. Build manifests
AMOS_ROOT=datasets/amos22 bash scripts/amos/00_make_manifests.sh
This creates:
data_json/amos_ct2mr.json: original CT/MRI split.data_json/amos_ct2mr_shared13.json: labels 14/15 remapped to background, target labels retained.data_json/amos_ct2mr_shared13_sfda.json: same remapping, but target-train labels removed.
1. Smoke test
NPROC=1 bash scripts/amos/01_smoke_source_ct.sh
2. Main sanity ladder
NPROC=8 bash scripts/amos/train_source_ct.sh
bash scripts/amos/eval_source_ct2mri.sh
bash scripts/amos/export_memory_ct.sh
NPROC=8 bash scripts/amos/train_oracle_mri.sh
NPROC=8 bash scripts/amos/run_selftrain_ct2mri.sh
NPROC=8 bash scripts/amos/run_peft_ct2mri.sh
NPROC=8 bash scripts/amos/run_proto_align_ct2mri.sh
NPROC=8 bash scripts/amos/run_sacflow_ct2mri.sh
bash scripts/amos/eval_all_main.sh
3. SACFlow ablations
NPROC=8 bash scripts/amos/run_sacflow_linear_ct2mri.sh
NPROC=8 bash scripts/amos/run_sacflow_whole_feature_ct2mri.sh
NPROC=8 bash scripts/amos/run_sacflow_random_subspace_ct2mri.sh
Notes
- Evaluate on
target_val, becausetarget_testin the downloaded AMOS22 release may not include labels. - Use
data_json/amos_ct2mr_shared13_sfda.jsonfor SFDA/adaptation runs to avoid target-label leakage. - Use
data_json/amos_ct2mr_shared13.jsononly for oracle training or debug. - The first table should include source-only, target oracle, self-training, PEFT-only, proto-align, and SACFlow-FM.