forked from jasonkena/L1-Skeleton
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathviewer.py
More file actions
28 lines (22 loc) · 742 Bytes
/
viewer.py
File metadata and controls
28 lines (22 loc) · 742 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import nibabel as nib
from cloudvolume import Skeleton
import numpy as np
import open3d as o3d
def view_nib(idx, seg_idx):
path = f"seg/RibFrac{idx}-rib-seg.nii.gz"
vol = nib.load(path).get_fdata()
pc = np.argwhere(vol == seg_idx)
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(pc)
o3d.visualization.draw_geometries([pcd])
def view_skel(idx, seg_idx):
path = f"ribcl/RibFrac{idx}/{seg_idx}.npz"
data = dict(np.load(path))
vertices, edges = data["vertices"], data["edges"]
skel = Skeleton(vertices, edges)
skel.viewer()
if __name__ == "__main__":
view_nib(377, 12)
view_skel(377, 12)
# view_skel(132, 1)
# view_nib("seg/RibFrac117-rib-seg.nii.gz", 24)