读取nii或nii.gz文件中的信息即输出图像操作


Posted in Python onJuly 01, 2020

读取nii或者nii.gz文件中的信息,并且输出图像。

import matplotlib
from matplotlib import pylab as plt
import nibabel as nib
from nibabel.viewers import OrthoSlicer3D
file = '' #你的nii或者nii.gz文件路径
img = nib.load(file) 
 
print(img)
print(img.header['db_name']) #输出nii的头文件
width, height, queue = img.dataobj.shape
OrthoSlicer3D(img.dataobj).show()
 
num = 1
for i in range(0, queue, 10):
 img_arr = img.dataobj[:,:,i]
 plt.subplot(5,4,num)
 plt.imshow(img_arr, cmap='gray')
 num += 1
 
plt.show()

补充知识:SimpleITK读取医学图像 .nii 数据(2D显示)

【环境】win10 + python3.6 + SimpleITK

nii文件是NIFTI格式的文件,出现的原因是原来一种图像格式是ANALYZE 7.5 format,但是这个图像格式缺少一些信息,比如没有方向信息,病人的左右方位等,如果需要包括额外的信息,就需要一个额外的文件,比如ANALYZE7.5就需要一对<.hdr, .img>文件来保存图像的完整信息。

因此,解决这个问题Data Format Working Group (DFWG) 将图像格式完整的定义为NIFTI(Neuroimaging Informatics Technology Initiative)格式

import SimpleITK as sitk
import skimage.io as io

def read_img(path):
 img = sitk.ReadImage(path)
 data = sitk.GetArrayFromImage(img)
 return data
#显示一个系列图
def show_img(data):
 for i in range(data.shape[0]):
  io.imshow(data[i,:,:], cmap = 'gray')
  print(i)
  io.show()
 
#单张显示
def show_img(ori_img):
 io.imshow(ori_img[100], cmap = 'gray')
 io.show()

#window下的文件夹路径 
path = 'D:\\datasets\\Naso_GTV\\1\\data.nii.gz'
data = read_img(path)
show_img(data)

读取nii或nii.gz文件中的信息即输出图像操作

img = sitk.ReadImage(path)
#查看图片深度
print(img.GetDepth())
#144 共144张图
#查看Size
print(img.GetSize())
#(512,512,144) 像素:512*512, 144张图片

更多的函数自己去发现

读取nii或nii.gz文件中的信息即输出图像操作

以上这篇读取nii或nii.gz文件中的信息即输出图像操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python标准日志模块logging的使用方法
Nov 01 Python
pyside写ui界面入门示例
Jan 22 Python
python时间整形转标准格式的示例分享
Feb 14 Python
python使用BeautifulSoup分析网页信息的方法
Apr 04 Python
深入理解Python中字典的键的使用
Aug 19 Python
python实现解数独程序代码
Apr 12 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
Jul 11 Python
python协程之动态添加任务的方法
Feb 19 Python
学习和使用python的13个理由
Jul 30 Python
基于python判断目录或者文件代码实例
Nov 29 Python
django和flask哪个值得研究学习
Jul 31 Python
Python如何使用ConfigParser读取配置文件
Nov 12 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 #Python
使用Nibabel库对nii格式图像的读写操作
Jul 01 #Python
python 读取.nii格式图像实例
Jul 01 #Python
使用npy转image图像并保存的实例
Jul 01 #Python
python实现npy格式文件转换为txt文件操作
Jul 01 #Python
python与pycharm有何区别
Jul 01 #Python
tensorflow 动态获取 BatchSzie 的大小实例
Jun 30 #Python
You might like
基于Snoopy的PHP近似完美获取网站编码的代码
2011/10/23 PHP
smarty巧妙处理iframe中内容页的代码
2012/03/07 PHP
PHP使用ob_start生成html页面的方法
2014/11/07 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
原生JS实现顶部导航栏显示按钮+搜索框功能
2019/12/25 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
python机器学习之神经网络(一)
2017/12/20 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
Python装饰器用法实例分析
2019/01/14 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
巴西网上药房:onofre
2016/11/21 全球购物
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
现代绅士日常奢侈品:Todd Snyder
2019/12/13 全球购物
c语言常见笔试题总结
2016/09/05 面试题
小学教师自我鉴定
2013/11/07 职场文书
自我鉴定总结
2014/03/24 职场文书
学习演讲稿范文
2014/05/10 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
2015年项目工作总结
2015/04/29 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis