1. 缘起
在尝试生成辐射剂量的结构化报告(RDSR)时,执行完相应的代码,小伙伴提醒我导出的数据中缺少了PID信息。
2. 分析和测试
首先分析之前文件的生成流程,如下所示:
对于设备信息和常规DCM信息的处理与对普通图像的处理是完全相同的。
但是在生成计量报告时候为了方便使用了DCMTK的DSRDocument
类,调用的代码大致如下:
// DcmItem *dcmItem -- 是已经保存了各种信息的dcm数据对象的指针
DSRDocument* rdsrDocument = new DSRDocument(DSRTypes::DT_XRayRadiationDoseSR);
// 添加结构化报告内容
rdsrDocument->write(*(dcmItem));
delete rdsrDocument;
rdsrDocument = nullptr;
考虑到可能是在使用这个DSRDocument
类的时候将这部分数据弄没得,将经过上述代码的数据分别输出到文件方便对比。
分析后,果然是这个原因,那么修改数据的写入顺序尝试。
3. 修改
修改为先写报告的核心内容,然后再添加其他内容。
测试得到结果,果然能够得到正确的数据。
流程如下所示: