从dicom rdsr文件中提取数据的包

rdsr-navigator的Python项目详细描述


RDSR导航器

DICOMrdsr文件中提取数据的包。这个项目的重点是提取数据。无法修改文件。该项目目前处于早期开发阶段,事情可能不会完全按照您的预期进行。公共api还不稳定,请记住这一点。

The package is intended for RESEARCH USE ONLY, NOT FOR CLINICAL USE.

入门

这些说明将为您提供项目的副本并在本地计算机上运行。

先决条件

rdsr navigator是用python 3.6编写的,使用pydicom。因此,请确保运行的是Python3.6或更高版本,并确保Pydicom已安装。如果未安装pydicom,请使用下面的命令安装pydicom。

$ pip install pydicom

安装

rdsr navigator在pypi上可用,可以使用以下命令安装。

$ pip install rdsr_navigator

现在,您可以开始使用rdsr导航器了。

用法

读取文件

要打开RDSR文件,请键入以下命令。

>>>importrdsr_navigatorasnav>>>rdsr_obj=nav.read_file(r'C:\rdsr_file.dcm')

read_file的输入参数是一个包含rdsr文件路径的str。其他支持的数据类型是pathlibpydicom对象。

提取数据

数据是通过首先使用概念名称在rdsr层次结构中导航来提取的。所有概念名称都以小写形式给出,并用下划线(“\u”)分隔。在下面的示例中,我们将从“procedure reported”中提取值。

>>>rdsr_obj['procedure_reported'].value'Projection X-Ray'

也可以使用代码值和由冒号(“:”)分隔的编码方案指示符来提取数据。如下例所示。

>>>rdsr_obj['121058:DCM'].value'Projection X-Ray'

使用方括号时,将返回第一个匹配的概念名称。如果在同一级别上存在几个具有相同概念名称的条目,则这是不合适的。要使用相同的概念名迭代条目,请使用get_all方法。

>>>forirr_eventinsr_obj.get_all('irradiation_event_x-ray_data')):print(irr_event['dose_area_product'].value)(1.9632189e-7,'Gy.m2')(1.1173212e-5,'Gy.m2')(8.566802e-7,'Gy.m2')

通过在方括号中添加更多的概念名称深入层次结构。

>>>rdsr_obj['procedure_reported','has_intent'].value'Combined Diagnostic and Therapeutic Procedure'

Jupyter笔记本集成

rdsr导航器类与jupyter notebooks集成。

  • 数据很好地以表格形式显示。
  • 使用方括号访问数据时,可以使用制表符完成。

支持的值类型

目前,只支持少数值类型。下面列出了支持的值类型。

  • 代码含义
  • 日期时间
  • 测量值
  • 文本值
  • uid

许可证

这个项目是根据麻省理工学院的许可证授权的-请参阅许可证文件了解详细信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从Struts操作的钩子更改表单值(Liferay 6.2)   java如何改变Spring MVC处理url“点”字符的行为   Clojure中使用Java接口的问题   junit如何模拟comosDB azure java集成客户端?   运行函数时发生java错误   netbeans Java。jar文件和依赖项   Eclipse中文本字段中的java输入类型   在JAVA中,将集合变量从实时批处理运行时传递到调用批处理文件   java通过Bean验证API中的自定义消息管理异常   XML到json的转换,在Java中,同时保留数据类型   根据JAVA中的列名从Excel文件中获取单元格值   在AsyncTask的doInBackground中未调用java FirebaseMessagingService   java如何在数据库中插入一行?