25 lines
758 B
Python
25 lines
758 B
Python
# app/gui/napari_main.py
|
|
import napari
|
|
from pathlib import Path
|
|
import SimpleITK as sitk
|
|
import numpy as np
|
|
|
|
def sitk_to_numpy(img):
|
|
return sitk.GetArrayFromImage(img) # z, y, x
|
|
|
|
def run_napari_viewer():
|
|
viewer = napari.Viewer(title="Radiuma Mini - Viewer")
|
|
# Load outputs if they exist
|
|
filtered = Path("app/storage/artifacts/filtered.nii.gz")
|
|
mask = Path("data/masks/CT_AVM_mask.nii.gz")
|
|
if filtered.exists():
|
|
arr = sitk_to_numpy(sitk.ReadImage(str(filtered)))
|
|
viewer.add_image(arr, name="filtered", blending="translucent")
|
|
if mask.exists():
|
|
marr = sitk_to_numpy(sitk.ReadImage(str(mask)))
|
|
viewer.add_labels(marr, name="mask")
|
|
napari.run()
|
|
|
|
if __name__ == "__main__":
|
|
run_napari_viewer()
|