读取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实现批量转换文件编码的方法
Jul 28 Python
浅谈Python处理PDF的方法
Nov 10 Python
python 动态加载的实现方法
Dec 22 Python
Python中join函数简单代码示例
Jan 09 Python
简单谈谈python中的lambda表达式
Jan 19 Python
在Python中关于使用os模块遍历目录的实现方法
Jan 03 Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 Python
Django框架视图函数设计示例
Jul 29 Python
Python Django 命名空间模式的实现
Aug 09 Python
详解python中groupby函数通俗易懂
May 14 Python
Keras设置以及获取权重的实现
Jun 19 Python
Python中threading库实现线程锁与释放锁
May 17 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/06/19 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
Bootstrap与Angularjs的模态框实例代码
2017/08/03 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
python3正则模块re的使用方法详解
2020/02/11 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
师范毕业生自荐信
2013/10/17 职场文书
大专计算机个人求职的自我评价
2013/10/21 职场文书
财务会计专业自荐书
2014/06/30 职场文书
2014年校长工作总结
2014/12/11 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
信息技术课教学反思
2016/02/23 职场文书
导游词之昭君岛
2020/01/17 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python
muduo TcpServer模块源码分析
2022/04/26 Redis