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内建函数之raw_input()与input()代码解析
Oct 26 Python
django开发教程之利用缓存文件进行页面缓存的方法
Nov 10 Python
Python List cmp()知识点总结
Feb 18 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
Python模块的制作方法实例分析
Dec 21 Python
pytorch中的transforms模块实例详解
Dec 31 Python
python 错误处理 assert详解
Apr 20 Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 Python
MoviePy常用剪辑类及Python视频剪辑自动化
Dec 18 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 02 Python
pytorch 带batch的tensor类型图像显示操作
May 20 Python
python获取对象信息的实例详解
Jul 07 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来自动调用不同服务器上的flash
2006/10/09 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
js跳转页面方法实现汇总
2014/02/11 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
2015/07/15 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
BootStrap整体框架之基础布局组件
2016/12/15 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
微信小程序class封装http代码实例
2019/08/24 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
在Python的Django框架中包装视图函数
2015/07/20 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
python实现简单加密解密机制
2019/03/19 Python
python opencv minAreaRect 生成最小外接矩形的方法
2019/07/01 Python
python 高阶函数简单介绍
2021/02/19 Python
JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
2013/06/05 面试题
个人借款担保书
2014/04/02 职场文书
写得不错的求职信范文
2014/07/11 职场文书
小学生运动会广播
2015/08/19 职场文书
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python
python实现简单的井字棋
2021/05/26 Python
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL