Mergecom标签不按顺序排列(MC_OUT_OF_ORDER_TAG)

时间:2014-03-09 09:38:09

标签: c++ merge dicom

使用MERGECOM的MC_Open_File API时,

MC_Open_File( applID, msgID, &cbInfo, MediaToFileObj );

发生以下错误。如何解决这个/克服这个问题?

(5124) 03-09 15:01:10.39 MC3 E: Tags not in ascending order: (0010,0010) found after (696c,6e6f)
(5124) 03-09 15:01:10.39 MC3 W: Error with tag (0010,0010) at byte offset 704 when parsing file

同一文件适用于MC_Stream_To_Message_With_OffsetMC_Stream_To_Message。由于我不知道MC_ATT_TRANSFER_SYNTAX_UID我无法使用这两个API。

请帮助我克服这一点。

1 个答案:

答案 0 :(得分:1)

MC_Open_File期望您正在读取的文件是一个DICOM文件,其前缀为128字节,前缀为“DICM”,然后是组0x0002元素,后跟数据集本身。

您在阅读文件时看到的错误看起来很像解析错误。标签号(696c,6e6f)是明显的ASCII字符,它看起来像解析器试图解析为DICOM标签。

因此看起来您可能有一个格式无效的文件,或者您正在尝试读取不属于DICOM文件格式的文件。请注意,MergeCOM-3 API不会尝试解析和确定文件的格式(无论文件是DICOM文件还是流),它们只是假设正在使用的函数的格式。我建议仔细查看文件的二进制内容,以确定格式,以及是否使用正确的函数来读取文件。