读取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常见排序操作示例【字典、列表、指定元素等】
Aug 15 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
May 29 Python
Python3日期与时间戳转换的几种方法详解
Jun 04 Python
Django Rest framework权限的详细用法
Jul 25 Python
python修改字典键(key)的方法
Aug 05 Python
Python3 中sorted() 函数的用法
Mar 24 Python
详细分析Python可变对象和不可变对象
Jul 09 Python
python 如何快速复制序列
Sep 07 Python
python 两种方法删除空文件夹
Sep 29 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 Python
python如何进行基准测试
Apr 26 Python
python在package下继续嵌套一个package
Apr 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
基于PHP异步执行的常用方式详解
2013/06/03 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
jquery 学习之二 属性相关
2010/11/23 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
React如何避免重渲染
2018/04/10 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
Python实现全角半角转换的方法
2014/08/18 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
复化梯形求积分实例——用Python进行数值计算
2019/11/20 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
python属于解释型语言么
2020/06/15 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
专业销售业务员求职信
2013/11/18 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
会计人员演讲稿
2014/09/11 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
高考1977观后感
2015/06/04 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
创业计划书之电动车企业
2019/10/11 职场文书