SACFlow / tools /inspect_dataset.py
sathiiii's picture
Add tools
93ffd19 verified
Raw
History Blame Contribute Delete
813 Bytes
#!/usr/bin/env python
from __future__ import annotations
import argparse, json
from pathlib import Path
import nibabel as nib
import numpy as np
def main():
ap = argparse.ArgumentParser()
ap.add_argument("--manifest", required=True)
args = ap.parse_args()
man = json.load(open(args.manifest))
for split, items in man.items():
if not isinstance(items, list):
continue
print(split, len(items))
for it in items[:3]:
img = nib.load(it["image"])
print(" ", it.get("id"), img.shape, img.header.get_zooms()[:3], "label", bool(it.get("label")))
if it.get("label"):
lab = np.asanyarray(nib.load(it["label"]).dataobj)
print(" labels", np.unique(lab)[:20])
if __name__ == "__main__":
main()