首页 > 解决方案 > .net core中DICOM图像的数据解析和发送

问题描述

我目前正在开发一个基于 .net core + Postgresql 和 OHIF 查看器(以呈现 DICOM 图像)的完整 DICOM Web 应用程序。我已经建立了一个数据库,其中包含 Patient、Study 等表以及我存储为 PatientName、PatientDOB 等的属性,现在在返回 json 时,输出也与

“患者姓名”:“临时”

“患者出生日期”:“2332”..

但由于 DICOM 查看器有一个标准,他们将 JSON 对象接收为

{“0020000D”:{

  "vr": "UI",

  "Value": [ "1.2.392.200036.9116.2.2.2.1762893313.1029997326.945873" ]
}

}

所以我想以这样的方式映射我的 JSON 输入/输出,在返回时我以上述 Dicom 格式返回值,在获取数据时我将它们存储为属性(列名)而不是标签?

我在 .net core 和 Dicom web 方面还很新,那么如何进一步处理呢?另外,我正在使用 fo-Dicom 从 Dicom 图像中读取数据。

请提供一些我可以使用的提示/代码。

标签: asp.net-mvcasp.net-coredicomfo-dicomdicomweb

解决方案


您可能只将几个 DicomTag 存储到数据库中(您需要对数据库进行查询的标签),但查看器可能希望将所有标签都保存为 Json。所以我不会尝试将你的数据库 Jasons 映射到 Dicom-jsons 中,但我会使用 fo-dicom 从 DICOM 文件中生成 Json:

您需要添加 nueg 包fo-dicom.json,然后您可以调用

DicomDataset dataset = ... // wherever you get your DICOM file
string json = JsonConvert.SerializeObject(dataset, new JsonDicomConverter());

或者反过来,如果你想将这种符合 DICOM 的 json 转换为 DicomDataset

string json = ... // wherever you get the json from
DicomDataset dataset = JsonConvert.DeserializeObject<DicomDataset>(json, new JsonDicomConverter());

推荐阅读