之前介绍过单个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读取nii文件_python实现批量nii文件转换为png图像相关推荐

  1. ncl批量处理多个nc文件_Python办公自动化批量处理文件,一学就会

    点击上方『早起Python』关注并星标 第一时间接收最新Python干货! 系列导读 Python办公自动化|从Word到ExcelPython办公自动化|从Excel到WordPython办公自动化 ...

  2. python 读取 word 表格_Python实现批量读取word中表格信息的方法

    本文实例讲述了Python实现批量读取word中表格信息的方法.分享给大家供大家参考.具体如下: 单位收集了很多word格式的调查表,领导需要收集表单里的信息,我就把所有调查表放一个文件里,写了个py ...

  3. python读取tiff影像_python+tifffile之tiff文件读写方式

    背景 使用python操作一批同样分辨率的图片,合并为tiff格式的文件. 由于opencv主要用于读取单帧的tiff文件,对多帧的文件支持并不好. 通过搜索发现了两个比较有用的包:TiffCaptu ...

  4. python读取windows日志_Python解析windows系统日志文件

    DOM是Document Object Model的简称,XML 文档的高级树型表示.该模型并非只针对 Python,而是一种普通XML 模型.Python 的 DOM 包是基于 SAX 构建的,并且 ...

  5. 潇洒郎:吐血经验——用python 结合好压软件 实现批量压缩文件或文件夹、并同时添加压缩密码方法———因为zipfile模块或者其他模块无法实现为文件添加压缩密码

    python 结合好压软件 实现批量压缩文件或文件夹.并同时添加压缩密码 先说说写本博客的缘由,也是吐血的经验教训: 由于一些原因需要为大量文件资料添加压缩密码,而好压软件只能实现单个文件压缩,不能进 ...

  6. 如何批量新建文件夹,批量新建文件夹并命名

    如何批量新建文件夹并命名?有时候我们经常需要创建大量的文件夹,来完成某些工作,相信很多上班族都遇到过.不过也都存在这样困扰,一个一个新建并且命名速度太慢了,占用了大量的上班时间,却毫无办法.那是因为大 ...

  7. 写bat文件for循环批量创建文件夹

    写bat文件for循环批量创建文件夹 系统:win10 批量创建数字文件夹(0-20) for /l %%a in (0,1,20) do md %%a 这里/l表示数字,括号中的数字依次是起始数字, ...

  8. 关于python读取Arduino发送的串口数据将bytes转换为str问题

    关于python读取Arduino发送的串口数据将bytes转换为str问题 Arduino作为一款非常好的开源软件,在控制领域十分受欢迎.最近在做一件事就是将Arduino的数据通过串口传输到电脑, ...

  9. python读取所有txt文件_python如何批量读取txt文件

    python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称:最后遍历文件夹,读取txt文件. 如果文件 ...

最新文章

  1. linux下远程传输文件命令scp使用注解
  2. pandas 查询数据
  3. 查看git当前tag_git对象浅析
  4. html十秒倒计时跳转,javascript实现倒计时跳转页面
  5. 2019-06-13 Java学习日记之MySql
  6. Reading Club·Beijing第1期DeepQA框架与Siri架构会场笔记(PPT下载)
  7. 异步加载AsyncTask小谈+实例
  8. read一个收到RST的socket会返回0?
  9. 【转】C#操作sqlServer数据库
  10. Multisim14简介与安装
  11. A类业余电台操作证书考试内容提要
  12. 腾讯扩容 php环境失效,腾讯云硬盘扩容挂载应该怎么办?
  13. 信托购买高搜索产品容易推10元[奥运]门槛
  14. 记录下如何用vue实现PC端网易云轮播图效果
  15. hostapd对WIFI 热点(AP)的配置方法
  16. Altium Designer 导入PCB库
  17. html鼠标拖动变换大小案例,js实现鼠标拖拽缩放div实例代码_哒哒_前端开发者
  18. jQuery-链接api实现星座运势和手机号归属地查询
  19. 微信小程序—实现搜索功能,搜索历史记录功能
  20. 字符串输出时最后出现乱码

热门文章

  1. 如何解决Win10不能新建项目的问题?
  2. CentOS下yum找不到安装软件的解决方法。
  3. Curl 采集乱码 gzip 原因及解决方案 utf-8
  4. .Net Core 3.0 gRPC部署问题解决
  5. linux下搭建redis并解决无法连接redis的问题
  6. 如何使用a手动创建文件。 Windows中的(点)前缀?例如,.htaccess
  7. 单行Bash无限while循环的语法
  8. 带有JSON的杰克逊:无法识别的字段,未标记为可忽略
  9. 如何使用十进制range()步长值?
  10. 从C#中的枚举获取int值