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中日志logging模块的性能及多进程详解
Jul 18 Python
python实现学生信息管理系统
Apr 05 Python
浅析Python函数式编程
Oct 06 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
一篇文章搞懂Python的类与对象名称空间
Dec 10 Python
详解python运行三种方式
May 13 Python
python 中的列表生成式、生成器表达式、模块导入
Jun 19 Python
django 使用 PIL 压缩图片的例子
Aug 16 Python
Python实现搜索算法的实例代码
Jan 02 Python
NumPy排序的实现
Jan 21 Python
python利用opencv实现颜色检测
Feb 23 Python
python爬虫之selenium库的安装及使用教程
May 23 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
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
javascript 控制弹出窗口
2007/04/10 Javascript
js form action动态修改方法
2008/11/04 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
python 处理string到hex脚本的方法
2018/10/26 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
python解释器spython使用及原理解析
2019/08/24 Python
pip install命令安装扩展库整理
2021/03/02 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
酒店总经理欢迎词
2014/01/08 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
vue里使用create, mounted调用方法
2022/04/26 Vue.js