nv-generate / utils /nifti_io.py
zephyrie's picture
Initial commit: NV-Generate Gradio showcase
ab1db83
raw
history blame contribute delete
475 Bytes
from __future__ import annotations
from pathlib import Path
import nibabel as nib
import numpy as np
def load_volume(path: str | Path) -> tuple[np.ndarray, np.ndarray]:
img = nib.load(str(path))
return np.asarray(img.dataobj), img.affine
def percentile_window(data: np.ndarray, lo: float = 2.0, hi: float = 98.0) -> tuple[float, float]:
nz = data[data > 0] if (data > 0).any() else data
return float(np.percentile(nz, lo)), float(np.percentile(nz, hi))