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运行其他程序的实现方法
Jul 14 Python
Python获取指定文件夹下的文件名的方法
Feb 06 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
python自定义函数实现最大值的输出方法
Jul 09 Python
pycharm配置git(图文教程)
Aug 16 Python
Python爬虫 批量爬取下载抖音视频代码实例
Aug 16 Python
python做接口测试的必要性
Nov 20 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
Apr 15 Python
python 爬取免费简历模板网站的示例
Sep 27 Python
python通过cython加密代码
Dec 11 Python
Python数据处理的三个实用技巧分享
Apr 01 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
第1次亲密接触PHP5(2)
2006/10/09 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
基于PHP常用函数的用法详解
2013/05/10 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
Vue的click事件防抖和节流处理详解
2019/11/13 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
Python的MongoDB模块PyMongo操作方法集锦
2016/01/05 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
python 网络编程详解及简单实例
2017/04/25 Python
python放大图片和画方格实现算法
2018/03/30 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
总结python中pass的作用
2019/02/27 Python
python实现杨氏矩阵查找
2019/03/02 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
怎样在程序里获得一个空指针
2015/01/24 面试题
酒店led欢迎词
2014/01/09 职场文书
食品安全责任书
2014/04/15 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
亮剑精神观后感
2015/06/05 职场文书
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL