读取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算法学习之计数排序实例
Dec 18 Python
python读写json文件的简单实现
Apr 11 Python
python实现人脸识别代码
Nov 08 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
实时获取Python的print输出流方法
Jan 07 Python
python实现剪切功能
Jan 23 Python
python实现银联支付和支付宝支付接入
May 07 Python
keras tensorflow 实现在python下多进程运行
Feb 06 Python
Python django框架开发发布会签到系统(web开发)
Feb 12 Python
基于plt.title无法显示中文的快速解决
May 16 Python
python 实现控制鼠标键盘
Nov 27 Python
python中urllib包的网络请求教程
Apr 19 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
php+mysql查询优化简单实例
2015/01/13 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
js中通过父级进行查找定位元素
2014/06/15 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
详解jQuery中的事件
2016/12/14 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
python 随机森林算法及其优化详解
2019/07/11 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python分布式编程实现过程解析
2019/11/08 Python
wxPython实现带颜色的进度条
2019/11/19 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
全国文明单位申报材料
2014/05/31 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python
python 镜像环境搭建总结
2022/09/23 Python