0

我想创建一个应用程序来读取和写入 DICOM 文件而不使用任何第三方软件我该怎么做?谁能帮我?

4

2 回答 2

3

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

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

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

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

于 2010-07-21T23:03:23.960 回答
0

这几乎意味着从DICOM 标准开始并编写大量代码。

于 2010-02-10T15:07:26.573 回答