读取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局部赋值的规则
Mar 07 Python
Python中用于去除空格的三个函数的使用小结
Apr 07 Python
Python类属性与实例属性用法分析
May 09 Python
Python fileinput模块使用实例
Jun 03 Python
python简单实现获取当前时间
Aug 27 Python
python利用正则表达式提取字符串
Dec 08 Python
利用python生成一个导出数据库的bat脚本文件的方法
Dec 30 Python
Python编程实现蚁群算法详解
Nov 13 Python
Python使用flask框架操作sqlite3的两种方式
Jan 31 Python
python爬虫_实现校园网自动重连脚本的教程
Apr 22 Python
神经网络相关之基础概念的讲解
Dec 29 Python
Python Flask请求扩展与中间件相关知识总结
Jun 11 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中的插件机制原理和实例
2014/07/08 PHP
浅谈php命令行用法
2015/02/04 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
取得传值的函数
2006/10/27 Javascript
javascript prototype 原型链
2009/03/12 Javascript
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
js继承的实现代码
2010/08/05 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
jQuery Tools Dateinput使用介绍
2012/07/14 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
详解vue-router和vue-cli以及组件之间的传值
2017/07/04 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
通过webpack引入第三方库的方法
2018/07/20 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
python下MySQLdb用法实例分析
2015/06/08 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
Python @property原理解析和用法实例
2020/02/11 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
HTML5 预加载让页面得以快速呈现
2013/08/13 HTML / CSS
售后专员岗位职责
2013/12/08 职场文书
护士见习期自我鉴定
2014/02/08 职场文书
五型班组建设方案
2014/02/10 职场文书
经营管理策划方案
2014/05/22 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
珍惜资源的建议书
2014/08/26 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
新娘婚礼答谢词
2015/09/29 职场文书