读取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 version 2.7 required, which was not found in the registry
Aug 26 Python
wxPython定时器wx.Timer简单应用实例
Jun 03 Python
python 自动化将markdown文件转成html文件的方法
Sep 23 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
Jun 23 Python
wxPython之解决闪烁的问题
Jan 15 Python
python入门教程 python入门神图一张
Mar 05 Python
Pandas 同元素多列去重的实例
Jul 03 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
Python Pexpect库的简单使用方法
Jan 29 Python
python批量爬取下载抖音视频
Jun 17 Python
python字典的常用方法总结
Jul 31 Python
Python urlopen()参数代码示例解析
Dec 10 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
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
php二维码生成以及下载实现
2017/09/28 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
javascript删除数组元素的七个方法示例
2019/09/09 Javascript
[00:37]2016完美“圣”典风云人物:rOtk宣传片
2016/12/09 DOTA
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
PyQt5响应回车事件的方法
2019/06/25 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
python机器学习实现决策树
2019/11/11 Python
python访问hdfs的操作
2020/06/06 Python
解决python对齐错误的方法
2020/07/16 Python
Django url 路由匹配过程详解
2021/01/22 Python
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
应届生财务管理求职信
2013/11/06 职场文书
教师简历自我评价
2014/02/03 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
党员转正申请报告
2015/05/15 职场文书
小学教师读书笔记
2015/07/01 职场文书
MySQL的join buffer原理
2021/04/29 MySQL
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL
什么是css原子化,有什么用?
2022/04/24 HTML / CSS