本文介绍一种批量转换nii文件到png图像的方法,亲测可用!!!

1、说明:

##以下图为例,进行转换
转换后,针对每个文件生成对应得文件夹,文件夹下面有一个‘z’文件夹(沿着z轴划分的切片),该文件夹下面是所有切片后的png或者jpg图像。
转换后效果如下:

2、下面进行详细的代码展示:

###只需要进行简单的路径修改即可实现批量转换!!!
代码如下(示例):

import matplotlibmatplotlib.use('TkAgg')
import nibabel as nib
import numpy as npimport os
import imageio# ---------------------------------------------#
# nii_path : nii文件的路径
# img_save_path : 切片的保存路径
# axis : 说明是沿着哪个方向切片的
# ---------------------------------------------
def nii_to_png(nii_path, img_save_path, axis):# 若保存路径不存在,则创建if not os.path.exists(img_save_path):os.makedirs(img_save_path)nii = nib.load(nii_path)nii_fdata = nii.get_fdata()nii_fdata = np.rot90(nii_fdata)# 以切片的轴向作为保存png的子文件夹名foldername = axispng_save_path = os.path.join(img_save_path, foldername)if not os.path.exists(png_save_path):os.mkdir(png_save_path)flag = 100if axis == 'x':(axis, y, z) = nii.shapeflag = 0elif axis == 'y':(x, axis, z) = nii.shapeflag = 1elif axis == 'z':(x, y, axis) = nii.shapeflag = 2else:print("wrong axis")for i in range(axis):if flag == 0:slice = nii_fdata[i, :, :]elif flag == 1:slice = nii_fdata[:, i, :]elif flag == 2:slice = nii_fdata[:, :, i]# 以数字1,2,3...为png图片命名imageio.imwrite(os.path.join(png_save_path, '{}.png'.format(i)), slice)
def all_nii_to_png(all_nii_path,all_image_save_path, axis):all_nii_path_list = os.listdir(all_nii_path)for i in range(len(all_nii_path_list)):nii_to_png(os.path.join(all_nii_path,all_nii_path_list[i]),os.path.join(all_image_save_path, all_nii_path_list[i]), axis)print("第{}个nii文件转换完成!".format(i))if __name__ == "__main__":all_nii_path = r'E:\all_dataset\covid-19-ct-seg\Lung_Mask'all_image_save_path = r'E:\all_dataset\covid-19-ct-seg\Lung_Mask_processed'all_nii_to_png(all_nii_path, all_image_save_path, 'z')

如何将nii图像文件转换为png图像,亲测有效!!!相关推荐

  1. 微信录音arm格式转换为mp3(亲测解决 Java linux centos 环境)

    问题:微信录音 arm格式后缀强制改为mp3后,微信打开播放不了,只有部分浏览器可以播放 环境:linux   centos7   springboot 网上找了一圈,都不太完整,有头没尾的.总结了一 ...

  2. python读取nii文件_python实现批量nii文件转换为png图像

    之前介绍过单个nii文件转换成png图像: 这里介绍将多个nii文件(保存在一个文件夹下)转换成png图像.且图像单个文件夹的名称与nii名字相同. import numpy as np import ...

  3. 批量nii文件转换为png图像

    之前介绍过单个nii文件转换成png图像: https://blog.csdn.net/weixin_43330946/article/details/89501865 这里介绍将多个nii文件(保存 ...

  4. 将tkm格式转换为MP3格式——亲测有效

    将tkm,mgg格式转换为MP3格式 1.打开网站:音乐解锁新版 -- 音乐解锁旧版 2.将要转码的tkm格式文件拖至网页中,会自动解锁. 3.点击下载解锁成功的音乐,下载,tkm格式转为m4a,mg ...

  5. ADNI-python实现批量nii和dcm文件转换为png图像

    需求: 转换后的PNG文件保存在与原始保存DCM和nii文件的文件夹格式相同的子文件夹中.并加入进度和时间预估功能. 任务步骤: 1.读取DCM和nii文件所在的目录树. 2.将每个DCM和nii文件 ...

  6. 想把图像文件转换为DWG文件?光栅矢量化工具了解一下

    发现网上很多人都在问如何将图像文件转换为DWG,我用过一个小工具,转换效果还可以,如果只用于转换一些线条图的话,问题不大,但真要转平面图纸的话可用性能有多高也很难说,圆.弧.文字等转换效果估计也很难保 ...

  7. 什么是.dat? python读取.dat文件并转换为png图像——超简单实现

    相信大家和我一样,对于.dat文件是感到十分陌生的.因此在刚接触到这个小任务的时候我实在花了一些时间来了解到底什么是.dat文件.这里我将我自己的认识分享给大家: 总体而言,对于.dat文件的定义,我 ...

  8. Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行

    Windows下Java+Tesseract-OCR对图像进行字符识别,亲测可行 1. 下载tesseract-ocr.中文语言包并安装 2. 命令行对图片进行识别及效果图 3. Java调用Tess ...

  9. ITK:将真实和虚构图像转换为复杂图像

    ITK:将真实和虚构图像转换为复杂图像 内容提要 输出结果 C++实现代码 内容提要 将真实图像和虚像转换为复杂图像. 输出结果 Image (0x7ff58250cf20) RTTI typeinf ...

最新文章

  1. html表格显示选择的颜色,jquery实现效果比较好的table选中行颜色
  2. 浅谈Android引用计数(2)
  3. Sublime Text 2 中怎样查找scope的名称
  4. 【转】强大的B树B+树
  5. linux 查看和修改文件编码的方法
  6. 《中秋书月》月圆之夜,我和德鲁克
  7. C# 怎样判断 datagridview 中的checkbox列是否被选中
  8. Android入门笔记04
  9. ajax获取modelandview,如何使用js获取ModelAndView值
  10. yyyy-mm-dd yyyymmdd互相转换
  11. Kylin使用Spark构建Cube
  12. 企鹅日记(十一):账号管理与ACL权限设置
  13. 学生考勤管理系统(优秀评分)
  14. win7 wifi共享设置
  15. Cesium,ClippingPlanes,任意剪裁面对3DTiles剪裁
  16. IOS13如何屏蔽更新,快看这里!!!
  17. ES MQ canal同步mysql
  18. 2022年网络运维必备软件和工具推荐
  19. 计算机主要配件型号价格,你知道电脑的“五大主要部件”的选择吗?
  20. 菜单栏太乱Bartender 4轻松管理菜单栏

热门文章

  1. 对计算机接口提出的新要求吗,2017年秋微机原理与接口技术
  2. 写给 Java 程序员的前端 Promise 教程
  3. vim中Ctrl+t和Ctrl+o快捷键的区别
  4. GDA 和logistic回归的联系
  5. imo班聊未读消息提示优化
  6. 使用Pyecharts绘制中英文中国地图
  7. 代正通_ChromeBook怎么刷windows系统||Linux教程
  8. 做百度快照入门_如何为您的博客文章拍摄屏幕快照(入门指南)
  9. odoo中的inherit模型属性继承及模型关系
  10. Python数据可视化---pygal模块