DICOM图像和元数据与LEADTOOLS





0/5 (0投票)
LEADTOOLS 在其所有编程接口中都提供了全面的 DICOM 支持,包括 .NET(下文示例中使用)、CDLL、C++ 类库、HTML5 / JavaScript、WinRT、iOS、Android 等。
引言
数字医疗保健是全球蓬勃发展的行业,电子存储的医疗记录和影像的益处正日益得到认可和采纳。其重要性甚至已经达到了政府投入巨资来投资和鼓励这一基础设施发展的程度。数字医疗保健最重要的基石之一是处理影像的 DICOM 标准。
虽然 DICOM 是一个复杂的标准,拥有庞大的规格说明,但其复杂性很大程度上源于定义不同医疗专科的各种变体,以及在互操作的全球数字医疗网络中关于如何使用和共享影像及影像相关报告的规则。这篇白皮书将展示如何使用 LEADTOOLS DICOM SDK,凭借其对程序员友好的强大工具包,攻克这些复杂性。
使用 LEADTOOLS DICOM 功能
LEADTOOLS 在其所有编程接口中都提供了全面的 DICOM 支持,包括 .NET(下文示例中使用)、CDLL、C++ 类库、HTML5 / JavaScript、WinRT、iOS、Android 等。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 编辑控件还提供关于标签要求的视觉提示,以帮助用户创建有效的 DICOM 数据集。
处理 DICOM 图像
DICOM 的另一个主要方面是存储数字医学图像。DICOM 数据集可以在其 PixelData 元素中存储一个或多个图像。与检索任何其他元数据类似,解码图像是通过首先找到 PixelData 元素,然后使用 GetImage
函数将该元素解码为图像。GetImage
有多种重载,并提供用于常见操作的选项,例如应用模态 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 医学影像查看器,或称为显示容器,是一个专门的查看控件,内置了许多供放射科医生和内科医生使用的工具,例如窗位、标注、区域处理、元数据显示等。更重要的是,图像序列(由多页图像或多个单图像文件表示)可以堆叠、网格布局、作为 cine 动画播放等。这是生成图像切片(如 MRI 或 CT)的任何模态的重要功能和设计。其中大部分功能都可以通过一行代码进行设置和修改。
该医学查看器控件以多种接口和高级抽象形式提供给程序员,可满足各种开发人员的需求。为了获得一个良好的开端,可以考虑使用 LEADTOOLS 的现成 OEM 示例应用程序,这些应用程序适用于 HTML5 / JavaScript、IE Rich Clients 和 Medical Workstation Framework,它们使用医学查看器控件,并包含功能齐全的用户界面、数据库和 PACS 集成。此外,这些应用程序的源代码也已提供,方便进行定制和品牌化,这意味着您可以在最短的时间内开发出功能齐全的 DICOM 查看应用程序。
结论
LEADTOOLS 医学影像 SDK 将复杂的 DICOM 世界呈现给开发者,提供一种易于使用和理解的编程接口,适用于各种平台和语言。除了处理加载、保存、编辑 DICOM 元数据和显示 DICOM 图像外,LEADTOOLS 还支持您所有的医学影像需求,包括 DICOM 通信、PACS、零占用的 HTML5 Web 查看等等。
下载完整的 DICOM 图像与元数据示例
您可以下载包含上述功能的完整功能演示。要运行此示例,您需要以下条件:
- LEADTOOLS 免费 60 天试用版
- Visual Studio 2008 或更高版本
- 浏览至 LEADTOOLS 示例文件夹(例如:C:\LEADTOOLS 18\Examples\),在那里您可以找到此示例以及 LEADTOOLS 中更多技术的示例项目。
支持
需要帮助来设置和运行此示例吗?联系我们的支持团队 获得免费技术支持!有关定价或许可问题,您可以联系我们的销售团队(sales@leadtools.com)或致电 704-332-5532。