python 按照空格分割 的结果_python可视化三维分割结果

6dba8ed54e3dcaa4210d352ea4574695.png

三维医学图像分割中,经常需要查看下分割结果,一种方法是保存下来,用专门的看图软件打开,比如ITK-SNAP,这样的弊端是太麻烦。

如何在IDE里直接显示分割结果呢?

用下面这个包就可以,是ImagePy作者开放的,非常轻量级,速度也很快。

https://github.com/Image-Py/myvi​github.com

使用方法如下:

  1. 下载数据和代码
https://github.com/JunMa11/myvi​github.com
跟原始代码相比,笔者fork的代码增加了spacing参数

2. 运行下面的代码(比如spyder)

"""
Created on Fri Mar 20 11:17:17 2020

@author: MA
"""
import nibabel as nib
from myvi import myvi
import numpy as np
import scipy.ndimage as ndimg

# get img data and spacing
nii = nib.load(r'path todataorgan.nii.gz')
imgs = nii.get_data()
zoom = nii.header.get_zooms()
# smooth (may loss details)
organ_1 = ndimg.gaussian_filter(np.float32(imgs==1), 1)
organ_2 = ndimg.gaussian_filter(np.float32(imgs==2), 1)
organ_3 = ndimg.gaussian_filter(np.float32(imgs==6), 1)

# vts, fs, ns, cs是节点,表面,法向量,颜色
vts, fs, ns, vs = myvi.util.build_surf3d(organ_1, 1, 0.5, zoom)
vts2, fs2, ns2, vs2 = myvi.util.build_surf3d(organ_2, 1, 0.5, zoom)
vts3, fs3, ns3, vs3 = myvi.util.build_surf3d(organ_3, 1, 0.5, zoom)

manager = myvi.Manager()
manager.add_surf('spleen', vts, fs, ns, (1,0,0))
manager.add_surf('pancreas', vts2, fs2, ns2, (0,1,0))
manager.add_surf('liver', vts3, fs3, ns3, (0,0,1))
manager.show('Organ 3D Demo')

显示结果如下

9abcf7e2f9ab2a21ba78ed0a752b1aaf.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值