话不多说,之前已经写过一篇文章讲述如何分类各个模态DICOM文件( http://www.xuwenhe.name/2019/01/niftidicom.html ),也提到了如果对于转完格式后不好分类的情况,可以在对dicom原始文件读取模态相关的信息,然后分类。因此,把拖了很久的一堆数据在今天下午写了简单的代码把需要的T1、DTI和REST分出来。过程不难,但是文件夹的层次结构比较多,需要注意下。 主要用到的还是pydicom包里的read_file函数 pydicom.read_file 和 SeriesDescription 属性。 比如, dcm = pydicom.read_file( '文件名,比如abc.dcm' ,force= True ) # 输出dcm或者IMA文件的模态信息 print (dcm.SeriesDescription) #如果不知道SeriesDescription是描述模态信息,可以先完全输出dcm,在里边可以找到描述模态对应的标签名。 实际上,如果你对一个DICOM文件夹内存放的文件毫无头绪时,比如这样: image.png 有一个很好的小软件 RadiAnt DICOM Viewer 可以帮你读取DICOM数据并可以把详细信息读取出来,当然也包括模态信息。 很有趣的一点是RadiAnt这个软件读取出来的模态信息名字跟上边用pydicom读取出来的一样,追本溯源殊途同归。 如下图,就是用 RadiAnt DICOM Viewer 读取出来的界面: image.png 具体过程分为两步,第一步是新建文件夹为分类后的模态信息找好居住地,这一步用到的代码如下: #!/usr/bin/env python #coding=utf-8 import os import shutil import re def extract_file (path_name) : # make new directory # directory_name = ['t1','t2','rest','dti','tof','aa...