我想创建一个应用程序来读取和写入DICOM文件,而无需使用任何第三方软件

时间:2010-02-10 10:40:09

标签: visual-c++ dicom

我想创建一个不使用任何第三方软件来读写DICOM文件的应用程序 我怎样才能做到这一点? 任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

“我的项目,我只需要更新像素数据。所以它不是很难处理。我只是解析DICOM文件,直到我到达像素数据,然后我用我自己的数据替换它。成功。“

尽管有相当多的研究应用程序与您所做的相同,但正是错误的事情(TM)。为什么这是一个不好的做法? DICOM图像应该由其SOP实例UID唯一标识。当您获取现有DICOM图像并替换像素数据时,保持原始标题信息不变,您将创建两个共享相同主键的数据对象。

如果您拍摄此图像并将其发送到已有原始图像副本的DICOM Storage SCP,请考虑将会发生什么。存储SCP必须调用冲突解决过程,因为它不能有两个具有相同UID的SOP实例。收到新图像后,存储SCP会检测到新图像与现有图像具有相同的UID,并且未正确定义SCP的所需行为。存储SCP可以将您的新图像视为原始图像的重新传输并忽略您的新图像,或者它可以将其视为原始图像的校正版本并将原始图像替换为新图像,或者它可以放弃并承认它完全不知道如何处理这个新图像并将其扔进一个保持区域并要求人类与应用程序交互以决定如何处理这两个图像。作为新图像的创建者,您无法知道或控制存储SCP在收到新图像时的行为。

至少,您需要在创建新图像时生成新的有效SOP实例UID。您的图像类型也应该是DERIVED \ SECONDARY类型之一,因为它是后处理图像,而不是模态生成的主要采集。您还应该查看原始标题中存在的其他DICOM标记,并认真考虑它们是否准确描述了您创建的新图像。

答案 1 :(得分:0)

这几乎意味着从the DICOM standard开始编写大量代码。