读取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 30 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
python中map()函数的使用方法示例
Sep 29 Python
Python实现识别手写数字 Python图片读入与处理
Mar 23 Python
python scipy求解非线性方程的方法(fsolve/root)
Nov 12 Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
PYcharm 激活方法(推荐)
Mar 23 Python
爬虫代理的cookie如何生成运行
Sep 22 Python
pandas中关于apply+lambda的应用
Feb 28 Python
python神经网络学习 使用Keras进行回归运算
May 04 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
一个基于phpQuery的php通用采集类分享
2014/04/09 PHP
php中socket的用法详解
2014/10/24 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
UserData用法总结 lanyu出品
2010/07/01 Javascript
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
javascript实现PC网页里的拖拽效果
2016/03/14 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
jQuery实现图片切换效果
2020/10/19 jQuery
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
python批量图片处理简单示例
2019/08/06 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
化学教师教学反思
2014/01/17 职场文书
合作经营协议书
2014/04/17 职场文书
党员服务承诺书
2014/05/28 职场文书
董事长秘书工作职责
2014/06/10 职场文书
2014年护士工作总结范文
2014/11/11 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫