【问题标题】:Reading .dcm files from a nested directory从嵌套目录中读取 .dcm 文件
【发布时间】:2018-03-03 23:31:40
【问题描述】:

这是我嵌套目录的形式:

/data/patient_level/study_level/series_level/

对于每个 patient_level 文件夹,我需要从相应的“series_level”文件夹中读取“.dcm”文件。

如何访问“series_level”文件夹中的“.dcm”文件?

我需要 DICOM 对象的 3 个特征。

这是我的源代码:

import dicom
record = dicom.read_file("/data/patient_level/study_level/series_level/000001.dcm")
doc = {"PatientID": record.PatientID, "Manufacturer": record.Manufacturer, "SeriesTime": record.SeriesTime}

然后,我会将这个文档插入到 Mongo DB 中。

感谢任何建议。 提前致谢。

【问题讨论】:

  • 欢迎来到 StackOverflow!阅读how to ask a question(尤其是how to create a good example)以获得回复。你也可以take the tour
  • 当您说“每个患者级别文件夹”时,这究竟是什么意思?有什么方法可以运行tree 之类的东西来显示所有目录的结构(从数据开始)?
  • @DeliriousLettuce 我的意思是“数据”,有不同的子文件夹,每个文件夹对应一个“患者研究”。在“patient_study”文件夹中,有不同的子文件夹(不是一个),每个子文件夹对应一个系列。
  • @DeliriousLettuce 基本上,我试图解释的是有多个患者信息,每个都有多个研究信息,每个都有多个系列信息。我正在尝试一种可以递归捕获所有系列级别子文件夹中的所有 .dcm 文件的方法。

标签: python directory pydicom


【解决方案1】:

我们不确定您要解决什么问题或询问我们,但如果您只想从 data 目录中获取所有 *.dcm 文件的列表,您可以使用 Python 3 的 pathlib.Path轻松:

from pathlib import Path
data = Path('/data')
list(data.glob('**/*.dcm'))

【讨论】:

  • 没有。您将获得完整路径,然后您可以使用路径组件将它们分解。
  • '/patient_level/study_level/series_level/000001.dcm'.split('/') 这样的东西会给你每个路径项目的耐心_级别、学习级别、系列级别信息。无论如何,这只是一个想法。
猜你喜欢
  • 2019-01-07
  • 1970-01-01
  • 1970-01-01
  • 2015-04-22
  • 2018-12-16
  • 1970-01-01
  • 2021-06-13
  • 2010-10-11
相关资源
最近更新 更多