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构造自定义方法来美化字典结构输出的示例
Jun 16 Python
Python中 Lambda表达式全面解析
Nov 28 Python
python3.5实现socket通讯示例(TCP)
Feb 07 Python
3个用于数据科学的顶级Python库
Sep 29 Python
python实现京东订单推送到测试环境,提供便利操作示例
Aug 09 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
Nov 08 Python
pytorch 修改预训练model实例
Jan 18 Python
Python闭包与装饰器原理及实例解析
Apr 30 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
Nov 17 Python
python 实现超级玛丽游戏
Nov 25 Python
python中的时区问题
Jan 14 Python
使用Django的JsonResponse返回数据的实现
Jan 15 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微信公众号自动发送红包API
2016/06/01 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
JS编程小常识很有用
2012/11/26 Javascript
js切换div css注意的细节
2012/12/10 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
angularJS中$apply()方法详解
2015/01/07 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
swiper实现异形轮播效果
2019/11/28 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
[02:14]DOTA2英雄基础教程 修补匠
2013/12/23 DOTA
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
Python操作mongodb的9个步骤
2018/06/04 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
快速了解Python开发环境Spyder
2020/06/29 Python
SportsDirect.com马来西亚:英国第一体育零售商
2018/11/21 全球购物
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
类的核心特性有哪些
2014/01/01 面试题
汽车检测与维修专业求职信
2013/10/30 职场文书
学校消防安全制度
2014/01/30 职场文书
教师党性分析材料
2014/02/04 职场文书
交通事故协议书
2014/04/15 职场文书
寒假安全保证书
2015/02/28 职场文书
食品质检员岗位职责
2015/04/08 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
2016年清明节寄语
2015/12/04 职场文书