读取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下使用Psyco模块优化运行速度
Apr 05 Python
Python随机生成带特殊字符的密码
Mar 02 Python
Python如何读取MySQL数据库表数据
Mar 11 Python
python使用super()出现错误解决办法
Aug 14 Python
python中将字典形式的数据循环插入Excel
Jan 16 Python
详解Django中六个常用的自定义装饰器
Jul 04 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 Python
Python代码中如何读取键盘录入的值
May 27 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
python3.9.1环境安装的方法(图文)
Feb 02 Python
Python读写Excel表格的方法
Mar 02 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
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
express express-session的使用小结
2018/12/12 Javascript
bootstrap table实现合并单元格效果
2018/12/24 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
Python编写简单的HTML页面合并脚本
2016/07/11 Python
Python中几种导入模块的方式总结
2017/04/27 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Python简单生成随机姓名的方法示例
2017/12/27 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
c语言常见笔试题总结
2016/09/05 面试题
美术教学感言
2014/02/22 职场文书
开门红主持词
2014/04/02 职场文书
《槐乡五月》教学反思
2014/04/25 职场文书
政工例会汇报材料
2014/08/26 职场文书
股东出资证明书范例
2014/10/04 职场文书
材料员岗位职责范本
2015/04/11 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL