"""Build/rebuild the nnU-Net raw dataset (Dataset210_NTUH_T1C_PL) from rows jsonl. rows: {key, img, label} where img is the NATIVE (unprocessed) T1c nifti and label a nifti mask on (or warpable to) that grid. No resampling/cropping/ normalization is applied here — nnUNetv2_plan_and_preprocess (02) does the preprocessing; imagesTr entries are symlinks to the native volumes, labelsTr entries are symlinks when already 0/1 on the image grid, else nearest-warped + binarized copies (label fix-up only). Usage: python scripts_nnu/01_nnu_prepare_dataset.py --rows """ import argparse import os import sys sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from src.common import load_jsonl from nnu_common import make_raw_dataset, raw_ds def main(): ap = argparse.ArgumentParser() ap.add_argument("--rows", required=True, help="jsonl with {key, img, label} (native paths)") args = ap.parse_args() rows = load_jsonl(args.rows) n = make_raw_dataset(rows) print(f"[nnu:prepare] {raw_ds()}: {n} cases", flush=True) if __name__ == "__main__": main()