使用LEADTOOLS操作DICOM图像和元数据

发布时间:2015/06/18 00:06 发布者:AvoCaDolol

返回博客中心

LEADTOOLS全面支持DICOM,编程接口包括.NET(下面例子中使用)、CDLL、C++类库、HTML5/JavaScript/WinRT、iOS、安卓等。

简介

数字医疗是一个全球蓬勃发展的行业,越来越多的人意识到电子医疗记录和图像的好处并采纳了它。政府部门发放大笔资金投资和鼓励此类基础设施的发展。创建数字医疗最重要的基石之一是处理图像的DICOM标准。

尽管DICOM是一个有多种规范的复杂标准,它的大多数复杂性来源于:定义各种风格不同的医学专业、制定在全球数字化医疗网络中使用和分享图像及图像相关报表的规则。本白皮书为您展示如何使用程序员友好的强大工具包LEADTOOLS DICOM SDK突破这些复杂性。

使用LEADTOOLS DIOCM功能

LEADTOOLS全面支持DICOM,编程接口包括.NET(下面例子中使用)、CDLL、C++类库、HTML5/JavaScript/WinRT、iOS、安卓等。LEADTOOLS帮助你遵守所有DICOM标准的规则,将DICOM数据集抽象为一个简单的易于理解的标签和图像集合。

处理DICOM元数据(标签)

DICOM文件中的所有都存储在一个标签(元素)里。大多数标签都存储了与病人信息、病人医疗过程和图像设备及设置相关的元数据。例如,当一个病人进行X-光扫描时,DICOM数据集会存储病人姓名、出生日期、性别等。此外,还会存储与过程相关的信息如日期、时间、医生名字、模式等。使用LEADTOOLS DicomDataset类,很容易找到想要的DicomElement并获取它的值。

using (DicomDataSet ds = new DicomDataSet())
{
   ds.Load(strDicomFileName, DicomDataSetLoadFlags.None);
   DicomElement element = ds.FindFirstElement(null, DicomTag.PatientName, false);
   if (element != null)
      strPatientName = ds.GetStringValue(element, 0);
}

如果这个病人随后要进行另一个检查,如MRI,我们会用相同的病人信息创建一个新的DICOM数据集,但是过程元数据不同。当医生在数据库或PACS(图像存档和通信系统)中查找这个病人时,病人的所有研究都会以简洁分层的方式绑定在一起。

LEADTOOLS还包括了一个高级的DICOM编辑器控件,其中包括了工具提示、选择列表和数据验证。它大大的简化了显示和接受用户输入的代码。DICOM编辑器控件还提供了针对标签需求的视觉提示,帮助用户创建合法的DICOM数据集。

image

处理DICOM图像

DICOM的另一个主要方面是存储医学图像。一个DICOM数据集可以在PixelData元素中存储一个或多个图像。与检索其他元数据的方式一样,解码图像首先要寻找PixelData元素,然后使用GetImage方法将元素解码为图像。GetImage有若干个重写方法,为通用操作提供了选项,例如为了正确显示,应用 Modality LUT和VOI LUT变换。

using (DicomDataSet ds = new DicomDataSet())
{
   ds.Load(strDicomFileName, DicomDataSetLoadFlags.None);
   DicomElement element = ds.FindFirstElement(null, DicomTag.PixelData, true);
   if (element != null)
   {
      RasterImage image = ds.GetImage(element, 0, 0, RasterByteOrder.Gray,
         DicomGetImageFlags.AutoApplyModalityLut | DicomGetImageFlags.AutoApplyVoiLut);
      _medicalViewer.Cells.Add(new MedicalViewerCell(image));
   }
}

LEADTOOLS医学图像浏览器或显示容器是一个专业的查看控件,有很多放射科医生和内科医生专用的工具如窗位、注释、区域处理、元数据显示等。更重要的是,一个图像系列(由一个多页图像或多个单页图像表示)可以叠加、在表格中展示、以动画效果播放等。在生成图像切片如MRI或CT时,这个功能和设计非常必要。使用一行代码就能设置修改这些功能的一大部分。

医学查看器控件有多种接口和高级抽象,适合各种各样的开发者。为了抢得先机,您可以考虑使用HTML5 / JavaScript的 LEADTOOLS' OEM-ready示例应用程序、IE客户端和医疗工作站框架中的一个,它们都使用了医学浏览器控件,合并了功能完整的用户界面、数据库和PACS集成。最重要的是,我们为您提供源码方便您自定义和品牌化,这意味着你可以在最短的时间内开发出功能完整的DIOCM查看应用程序。

image

总结

LEADTOOLS医学图像SDK进入了DICOM的复杂世界,为程序员提供了多平台多语言的易用易理解的编程接口。除了加载、保存、编辑DICOM元数据和显示DICOM图像,LEADTOOLS支持你所有的医学图像需求,如DICOM通信、PACS、零占用的HTML5 Web查看器等。

获取支持

关于其他产品的更多信息,请访问我们的官方网站

欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。

同时欢迎您使用评估版期间的免费技术支持


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网