读取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中设置变量作为默认值时容易遇到的错误
Apr 03 Python
Python的Django框架可适配的各种数据库介绍
Jul 15 Python
python实现文本去重且不打乱原本顺序
Jan 26 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
Spring Cloud Feign高级应用实例详解
Dec 10 Python
python 字典套字典或列表的示例
Dec 16 Python
用python解压分析jar包实例
Jan 16 Python
Python ORM框架Peewee用法详解
Apr 29 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 Python
Python命名空间及作用域原理实例解析
Aug 12 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 Python
python字符串的一些常见实用操作
Apr 06 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
php读取csv文件并输出的方法
2015/03/14 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
一些主流JS框架中DOMReady事件的实现小结
2011/02/12 Javascript
javascript实现div的显示和隐藏的小例子
2013/06/25 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
JavaScript解析机制与闭包原理实例详解
2019/03/08 Javascript
vue实现简单图片上传
2020/06/30 Javascript
对python中的argv和argc使用详解
2018/12/15 Python
python如何实现数据的线性拟合
2019/07/19 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
django model通过字典更新数据实例
2020/04/01 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
利用Bootstrap实现漂亮简洁的CSS3价格表实例源码
2017/03/02 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
什么是Smart Navigation?
2016/07/03 面试题
工厂门卫岗位职责
2013/11/25 职场文书
高中校园广播稿
2014/01/11 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
好听的队名和口号
2014/06/09 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
2015大学生实训报告
2014/11/05 职场文书
保管员岗位职责
2015/02/14 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python