Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 注释DICOM文件_Python_Dicom_Pydicom - Fatal编程技术网

Python 注释DICOM文件

Python 注释DICOM文件,python,dicom,pydicom,Python,Dicom,Pydicom,我正在寻找Python内部或外部的应用程序,该应用程序允许我获取现有的DICOM文件,随后向医学图像添加一些标记(例如彩色点),然后保存这些标记的坐标和最终图像。这是否可以在PyDicom或其他程序中完成?欢迎有任何想法 您不应该编辑现有的DICOM实例。长话短说,DICOM存储一个称为唯一实例UID的唯一标识符。这意味着,如果您编辑该文件,添加一个后模态覆盖,然后将其发送回PACS系统,它将被丢弃(根据设计!) 因此,通常的方法是创建另一个DICOM实例,在本例中,我建议使用一个简单的实例,然

我正在寻找Python内部或外部的应用程序,该应用程序允许我获取现有的DICOM文件,随后向医学图像添加一些标记(例如彩色点),然后保存这些标记的坐标和最终图像。这是否可以在PyDicom或其他程序中完成?欢迎有任何想法


您不应该编辑现有的DICOM实例。长话短说,DICOM存储一个称为
唯一实例UID
的唯一标识符。这意味着,如果您编辑该文件,添加一个后模态覆盖,然后将其发送回PACS系统,它将被丢弃(根据设计!)


因此,通常的方法是创建另一个DICOM实例,在本例中,我建议使用一个简单的实例,然后简单地引用现有的DICOM图像。您可以拥有任意多个灰度软拷贝演示状态实例,这比对现有DICOM实例进行粗略的就地编辑要灵活得多。

您不应该编辑现有DICOM实例。长话短说,DICOM存储一个称为
唯一实例UID
的唯一标识符。这意味着,如果您编辑该文件,添加一个后模态覆盖,然后将其发送回PACS系统,它将被丢弃(根据设计!)


因此,通常的方法是创建另一个DICOM实例,在本例中,我建议使用一个简单的实例,然后简单地引用现有的DICOM图像。您可以拥有任意数量的灰度软拷贝演示状态实例,这比对现有DICOM实例进行粗略的就地编辑要灵活得多。

让我扩展一下@malat的答案

您可以使用pydicom库从头开始编写新的DICOM文件。在您的情况下,您需要查看,对于每个标记为“M”的模块,填写所有标记为“1”(必填)或“1C”(有条件必填)的属性。您还应填写任何标记的“2”或“2C”(如果已知,则为必填项)

许多DICOM标记可以从正在注释的图像中复制。例如,是必需的,并且在强制模块中,因此您可以从原始图像复制其值


您将要生成的大多数新数据将进入模块。

让我扩展一下@malat的答案

您可以使用pydicom库从头开始编写新的DICOM文件。在您的情况下,您需要查看,对于每个标记为“M”的模块,填写所有标记为“1”(必填)或“1C”(有条件必填)的属性。您还应填写任何标记的“2”或“2C”(如果已知,则为必填项)

许多DICOM标记可以从正在注释的图像中复制。例如,是必需的,并且在强制模块中,因此您可以从原始图像复制其值

您将生成的大多数新数据将进入模块。

患者ID类型(00100022)当然不是必需的,或者更准确地说:它包含在其他患者ID序列(00101002)中,这是可选的。我还建议参考官方DICOM标准:患者ID类型(00100022)当然不是必需的,或者更准确地说:它包含在其他患者ID序列(00101002)中,这是可选的。我还建议参考官方DICOM标准: