1.数据格式

在MRI数据不同序列下存放着dcm格式的数据,以及单个nii格式的mask文件,所以需要将data和label分离

2.数据处理
使用 os库进行文件处理,用shutil库进行文件迁移
进行文件夹访问
os.listdir() 进行文件夹内多个文件到列表的转化
os.path.join() 将路径进行拼接,一般用在子文件夹的访问处理中
对于文件复制之前需要在目的位置建立文件夹
一般用 os.path.exists(目的文件夹名)
判断是否存在,如果不存在,使用 os.makedirs() 进行创建
最后 使用 shutil.move 将文件进行剪切,shutil库的copy函数则进行复制,源文件夹中该文件还存在
代码如下

import os
import shutilrootDir = r'D:\python\data\weihai\atypical meningioma\data'root_list = os.listdir(rootDir)
for patient in root_list:root_and_patName = os.path.join(rootDir,patient)xulie = os.listdir(root_and_patName)for xu in xulie:origin_dir = os.path.join(root_and_patName,xu,xu+'.nii')if os.path.exists(origin_dir):target_dir = r'D:\python\data\weihai\atypical meningioma\label'end_dir = os.path.join(target_dir,patient,xu)if not os.path.exists(end_dir):os.makedirs(end_dir)shutil.move(origin_dir,end_dir)

3.dcm2nii

#coding=utf-8
import SimpleITK as sitk
import osdef dcm2nii(dcms_path, nii_path):# 1.构建dicom序列文件阅读器,并执行(即将dicom序列文件“打包整合”)reader = sitk.ImageSeriesReader()dicom_names = reader.GetGDCMSeriesFileNames(dcms_path)reader.SetFileNames(dicom_names)image2 = reader.Execute()# 2.将整合后的数据转为array,并获取dicom文件基本信息image_array = sitk.GetArrayFromImage(image2)  # z, y, xorigin = image2.GetOrigin()  # x, y, zspacing = image2.GetSpacing()  # x, y, zdirection = image2.GetDirection()  # x, y, z# 3.将array转为img,并保存为.nii.gzimage3 = sitk.GetImageFromArray(image_array)image3.SetSpacing(spacing)image3.SetDirection(direction)image3.SetOrigin(origin)sitk.WriteImage(image3, os.path.join(nii_path,))if __name__ == '__main__':dcms_root_path = r'D:\python\data\weihai\atypical meningioma\data'  # dicom序列文件所在路径nii_path = r'D:\python\data\weihai\atypical meningioma\niidata'  # 所需.nii.gz文件保存路径patients = os.listdir(dcms_root_path)for p in patients:dcm_xulie_path = os.path.join(dcms_root_path,p)xulie = os.listdir(dcm_xulie_path)for xu in xulie:dcm_path = os.path.join(dcm_xulie_path,xu)save_path = os.path.join(nii_path,p)if not os.path.exists(save_path):os.makedirs(save_path)dcm2nii(dcm_path, save_path+f'/{xu}.nii.gz')

医学图像将dcm格式转化的nii格式如何处理相关推荐

  1. pandas将dataframe中的年、月、日数据列合并成完整日期字符串、并使用to_datetime将字符串格式转化为日期格式

    pandas将dataframe中的年.月.日数据列合并成完整日期字符串.并使用to_datetime将字符串格式转化为日期格式 目录

  2. android 格式转化,智兔格式转换器

    智兔格式转换器,一款非常实用的文件转换助手,支持图片.音频.视频等多种文件格式的转换,mp4, m4v,PDF等文件类型都能轻松进行转换,页面简洁,还能进行视频文件转音频格式的操作,专业文稳定,即转即 ...

  3. 安卓将数据库里Fri Jun 22 19:50:49 GMT+08:00 2018格式转化为正常格式

    在安卓数据库存储时间的时候,直接存储的New Date(),然而当读取数据库的时候,读出来的字符串为Fri Jun 22 19:50:49 GMT+08:00 2018,当然我们想要的是18-06-2 ...

  4. Excel中将时间格式转化成时间戳格式

    时间戳转成正常日期的公式: C1=(A1+8*3600)/86400+70*365+19 其中A1表示当时的1249488000时间戳数值 其中C1就是所需的日期格式,C1单元格属性改成日期格式就可以 ...

  5. 怎么把html格式转换成数字,Excel文本格式怎么转化成数字格式 excel文本转化数字格式教程...

    怎么将excel表格中的文本转化为数字格式呢?我们在使用excel表格的时候,数字格式的数据会更方便用户编辑,所以很多用户都会选择把文本格式转换为数字格式,具体如何操作大家请看下方的excel文本转化 ...

  6. 时间转化为字符串格式的方法

    在数据库保存时间,我们通常用的是datetime,所以我们在项目中如果没有转化为字符串格式的话,就会按照数据库原始的时间来显示出来, 这也是时间格式的一种,现在我就教你们怎么将这种格式转化为,我们熟悉 ...

  7. 经纬度度与度分格式转化

    前言 在做定位服务的时候,惯导设备的经纬度数据经常以度分格式的形式输出,而我们要进行业务处理时,则经常要将度分格式转化为度的格式,方便计算.在查找了一些资料之后,记录了解决的办法,方便后面查看. 一. ...

  8. nii格式和nii.gz格式详解

    文章目录 nii基础 hdr/header Extension Image 坐标 体素 转换矩阵 转换矩阵内部参数概念 转换矩阵组成 转换矩阵应用 nii格式 最后 nii基础 大部分医学领域导出di ...

  9. .nii格式文件解析

    一.nii格式文件具体内容 nii格式(NIFTI格式的扩展)是为多维神经影像学发明的,可真实反映元数据,包含方向信息.nii格式图片主要包含三部分信息:hdr, ext, img(其中.hdr和.i ...

最新文章

  1. Redis-10Redis的事务回滚
  2. chromium net android移植
  3. Zxing二维码重复扫描,不退出。
  4. 十大非著名之父:手机,黑莓,iPod,FORTRAN,远程办公,鼠标,垃圾邮件,DSL,Java,WIFI说,我爸是...-asp.net关注...
  5. java web之servlet
  6. UVA11005 Cheapest Base【数学】
  7. 广东地区电信官方DNS服务器
  8. M1 Mac 档案的临时暂存区工具: Yoink
  9. Atitit 战略之道 attilax著 v4 r88
  10. prototype中文参数乱码解决方案
  11. js 金额格式化 和 转成人民币大写金额形式
  12. 工程思维把每件事都当作一个项目来做
  13. java中获取农历日期以及星期几
  14. 跟上!本周业界动态来了!Java周报,2019/8/10,黑客日教程
  15. 4月20日第壹简报,星期四,农历三月初一,谷雨
  16. macbook重装系统 选择方案_超详细的mac重装系统教程
  17. 【用户画像】应用场景
  18. 神经网络学习小记录45——Keras常用学习率下降方式汇总
  19. PHP环境安装步骤及详解
  20. 思科与华为BGP配置命令对比

热门文章

  1. 重磅 | 推荐一款技术人必备的写作神器 (支持多平台博客群发)
  2. 第二类换元法三角代换专项训练
  3. 《MySQL 必知必会》C21-C24
  4. 应用之星:免费的傻瓜式在线制作电子书平台
  5. day48 - 49
  6. 支持5G和C-V2X的L3级量产车预计2021年上市,值得期待?
  7. Openstack中为虚拟机挂载ISO镜像
  8. java基于springboot医疗器材管理系统
  9. 随笔:高清术野相机项目记录
  10. android layout布局 有哪些,Android 常用布局 介绍与使用