读取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  连接字符串(join %)
Sep 06 Python
浅谈Python爬取网页的编码处理
Nov 04 Python
python实现字符串连接的三种方法及其效率、适用场景详解
Jan 13 Python
python3中int(整型)的使用教程
Mar 23 Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
django中使用POST方法获取POST数据
Aug 20 Python
PYTHON EVAL的用法及注意事项解析
Sep 06 Python
Numpy将二维数组添加到空数组的实现
Dec 05 Python
Python中文分词库jieba,pkusegwg性能准确度比较
Feb 11 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 Python
python3中for循环踩过的坑记录
Dec 14 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
ThinkPHP分页实例
2014/10/15 PHP
PHP输出日历表代码实例
2015/03/27 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
发布一款npm包帮助理解npm的使用
2019/01/03 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
微信小程序云函数使用mysql数据库过程详解
2019/08/07 Javascript
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
python中偏函数partial用法实例分析
2015/07/08 Python
django之常用命令详解
2016/06/30 Python
Python多线程实现同步的四种方式
2017/05/02 Python
基于ID3决策树算法的实现(Python版)
2017/05/31 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
python3中确保枚举值代码分析
2020/12/02 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
和平主题的演讲稿
2014/01/12 职场文书
信息技术教学反思
2014/02/12 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
追悼会悼词大全
2015/06/23 职场文书
python turtle绘制多边形和跳跃和改变速度特效
2022/03/16 Python