TopCoW — NIfTI pipeline (user-uploaded MRA)

Cerebral vessel segmentation from MRA, 14 classes. Full end-to-end pipeline: drop your own .nii.gz MRA volume in, WASM does gzip decompress + nnU-Net preprocess (trilinear resample to 0.65 × 0.469 × 0.469 mm + ZScoreNormalization) + sliding window + inverse resample back to your scanner frame + NIfTI pack, and hands you back a labelled seg.nii.gz.  ·  ← single-patch parity/debug
How to use: ① Load WASM → ② Load model weights → ③ Upload an MRA volume (NIfTI, gzipped or raw) → ④ Run sliding window → ⑤ Download segmentation.
✓ nnU-Net V2 strict conformance: canonical-frame argmax 99.9989% vs nnUNetv2_predict (fold 0, use_mirroring=False, use_gaussian=True). Pipeline order matches official exactly: transpose → crop-to-nonzero → per-image ZScoreNormalization → cubic B-spline resample → sliding window. ResEncUNet forward rel_rms < 5e-6 per patch vs PyTorch.
Performance (M1 MacBook, 180 patches, 48×96×112): Chrome WebGPU ~75 s ≈ Python MPS 73.8 s (parity). Node WebGPU 66.3 s · Python CPU 223.8 s. Per-patch ~417 ms (Chrome) / ~366 ms (Node).
Pipeline (strict nnU-Net V2): transpose → crop-to-nonzero → per-image ZScoreNormalization (x − μ) / σ (μ, σ computed from the cropped volume, not the training fingerprint) → cubic B-spline resample to target spacing → sliding window.

Log

Axial slice viewer

Canonical input (Z-score normalized)
Predicted segmentation (argmax)
Overlay