首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迭代DICOM文件

迭代DICOM文件
EN

Stack Overflow用户
提问于 2017-06-27 04:12:18
回答 2查看 1.2K关注 0票数 1

我使用pydicom来读取dicom文件(病人名称),但我的所有dicom文件都名为i34、i67等(这些名称没有特定的顺序或顺序)。我的问题是:我在txt文件中有一个病人的名字列表,我希望搜索这个txt文件中的每个病人的名字和所有的dicom文件,查找他们在dicom文件中的PatientName (对于那些不熟悉的人,每个dicom文件都有很多病人的信息,其中一个是PatientName)。

例:

txt档案: John George Ringo Paul

Dicom文件: i54 i98 i64 i12

我想要的:带着约翰,搜索i54,i98,i64,i12来参加PatientName比赛。并对txt文件中的每个名称执行此操作。希望我说得很清楚。提前行动!

编辑

我试过这段代码,但没有起作用

代码语言:javascript
复制
import dicom
import os

dir = "/path/to/dir_where_dicom_file_are"
txt = open('/path/to/txt_with_patientsnames.txt','r')
for line in txt:
    for sub, dirs, files in os.walk(dir):
        names = line.strip()
        for dcm in files:
           ds = dicom.read_file(dir+dcm) #necessary for read dicom files                            
           patient = ds.PatientName
           if names in patient:
           #do something

我采集了20个dicom图像和20个名字的样本。我知道这个样本中只有一个dicom文件属于一个病人的名字,所以我的输出应该是一个匹配的文件吗?但是我得到了20个比赛的结果。出什么事了?

EN

回答 2

Stack Overflow用户

发布于 2017-07-05 03:20:56

问题在于逻辑(更确切地说,是缺乏逻辑)。

代码语言:javascript
复制
dir = "/path/where/dcm/files/are"
arq = open('path/where/file with pacient names are/patient.txt','r')
for linha in arq:
     c = linha.strip()
     for sub,p,a in os.walk(dir):
        for dcm in a:
          ds = dicom.read_file(dir+dcm)
          pctname = ds.PatientName           
          if c in pctname:
          #do something

老实说,我一开始就不知道出了什么问题。

票数 1
EN

Stack Overflow用户

发布于 2019-11-26 23:37:16

您也可以考虑从不同的角度来处理这个问题。您可以将您的DICOM文件组织成一个目录层次结构,其中包含一个级别的PatientName。这将简化相关文件的快速定位。一个可以帮助您完成此任务的脚本是二进位

使用该工具,下面的命令将输入目录中的DICOM文件排序到PatientName > StudyDate > SeriesDescription-InstanceNumber命名目录结构中。我经常使用这类排序作为后续处理的先决条件。当然,如果您正在处理一个非常大的数据集,并且只需要访问其中的一小部分,这将是一个次优的解决方案,但我认为它可能对您的情况很方便。

代码语言:javascript
复制
dicomsort data sorted/%PatientName/%StudyDate/%SeriesDescription-%InstanceNumber.dcm
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44772145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档