读取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高级应用实例对比:高效计算大文件中的最长行的长度
Jun 08 Python
Python的Django框架中的Context使用
Jul 15 Python
Python内建数据结构详解
Feb 03 Python
python中常用的九种预处理方法分享
Sep 11 Python
详解使用python crontab设置linux定时任务
Dec 08 Python
python爬虫获取多页天涯帖子
Feb 23 Python
Python实现的建造者模式示例
Aug 06 Python
对python中if语句的真假判断实例详解
Feb 18 Python
Python实现平行坐标图的两种方法小结
Jul 04 Python
python实现滑雪游戏
Feb 22 Python
python如何快速生成时间戳
Jul 21 Python
python如何调用百度识图api
Sep 29 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保存信息到当前Session的方法
2015/03/16 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
2019/12/12 PHP
javascript之解决IE下不渲染的bug
2007/06/29 Javascript
event.srcElement 用法笔记e.target
2009/12/18 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
jquery实现图片上传之前预览的方法
2015/07/11 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
Openlayers实现地图全屏显示
2020/09/28 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
学校个人对照检查材料
2014/08/26 职场文书
群众路线教育实践活动总结
2014/10/30 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
详解Vue的列表渲染
2021/11/20 Vue.js
vue自定义右键菜单之全局实现
2022/04/09 Vue.js
Redis过期数据是否会被立马删除
2022/07/23 Redis