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中用keys()方法返回字典键的教程
May 21 Python
在Django中编写模版节点及注册标签的方法
Jul 20 Python
python抓取网页中图片并保存到本地
Dec 01 Python
python实现多线程抓取知乎用户
Dec 12 Python
Python中的asyncio代码详解
Jun 10 Python
PYQT5设置textEdit自动滚屏的方法
Jun 14 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
Jan 06 Python
Python类中self参数用法详解
Feb 13 Python
python def 定义函数,调用函数方式
Jun 02 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
Dec 01 Python
python前后端自定义分页器
Apr 13 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+APACHE实现用户论证的方法
2006/10/09 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
php设计模式之单例模式代码
2016/06/11 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
JavaScript 字符编码规则
2009/05/04 Javascript
表格 隔行换色升级版
2009/11/07 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
微信小程序支付及退款流程详解
2017/11/30 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
学python安装的软件总结
2019/10/12 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
解决Django no such table: django_session的问题
2020/04/07 Python
Python中内建模块collections如何使用
2020/05/27 Python
python的setattr函数实例用法
2020/12/16 Python
tensorflow与numpy的版本兼容性问题的解决
2021/01/08 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
计算机网络专业个人的自我评价
2013/10/17 职场文书
财务副总经理工作职责
2013/11/25 职场文书
啤酒节策划方案
2014/05/28 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
学校食品安全责任书
2015/01/29 职场文书
车间安全生产管理制度
2015/08/06 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
MySQL 全文索引使用指南
2021/05/25 MySQL
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python