python实现批量nii文件转换为png图像


Posted in Python onJuly 18, 2019

之前介绍过单个nii文件转换成png图像:

这里介绍将多个nii文件(保存在一个文件夹下)转换成png图像。且图像单个文件夹的名称与nii名字相同。

import numpy as np
import os    #遍历文件夹
import nibabel as nib #nii格式一般都会用到这个包
import imageio   #转换成图像
 
def nii_to_image(niifile):
 filenames = os.listdir(filepath) #读取nii文件夹
 slice_trans = []
 
 for f in filenames:
  #开始读取nii文件
  img_path = os.path.join(filepath, f)
  img = nib.load(img_path)    #读取nii
  img_fdata = img.get_fdata()
  fname = f.replace('.nii','')   #去掉nii的后缀名
  img_f_path = os.path.join(imgfile, fname)
  #创建nii对应的图像的文件夹
  if not os.path.exists(img_f_path):
   os.mkdir(img_f_path)    #新建文件夹
 
  #开始转换为图像
  (x,y,z) = img.shape
  for i in range(z):      #z是图像的序列
   silce = img_fdata[i, :, :]   #选择哪个方向的切片都可以
   imageio.imwrite(os.path.join(img_f_path,'{}.png'.format(i)), silce)
            #保存图像
 
if __name__ == '__main__':
 filepath = 'nii的文件夹'
 imgfile = 'image的文件夹'
 nii_to_image(filepath)

代码是我自己写的,用于处理ADNI的nii格式完全有效。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现统计英文单词个数及字符串分割代码
May 28 Python
Python正则抓取网易新闻的方法示例
Apr 21 Python
深入理解python中的select模块
Apr 23 Python
Python面向对象之静态属性、类方法与静态方法分析
Aug 24 Python
Python 带有参数的装饰器实例代码详解
Dec 06 Python
python linecache 处理固定格式文本数据的方法
Jan 08 Python
python实现接口并发测试脚本
Jun 25 Python
python实现翻转棋游戏(othello)
Jul 29 Python
python的slice notation的特殊用法详解
Dec 27 Python
Python 识别12306图片验证码物品的实现示例
Jan 20 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
Nov 28 Python
django 捕获异常和日志系统过程详解
Jul 18 #Python
Django实现发送邮件功能
Jul 18 #Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 #Python
Django框架之登录后自定义跳转页面的实现方法
Jul 18 #Python
django页面跳转问题及注意事项
Jul 18 #Python
django框架模板语言使用方法详解
Jul 18 #Python
Django中间件基础用法详解
Jul 18 #Python
You might like
深思 PHP 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
php浏览历史记录的方法
2015/03/10 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
再谈JavaScript线程
2015/07/10 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
python如何生成各种随机分布图
2018/08/27 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
python 实现"神经衰弱"翻牌游戏
2020/11/09 Python
小学毕业演讲稿
2014/04/25 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
常用的MongoDB查询语句的示例代码
2021/07/25 MongoDB