软件简介
AnyImaging Processing Library是一个轻量级的开源DICOM 文件处理库,提供 DICOM 文件加载、数据解析、图像处理及格式转换等核心功能。该库基于 C++11 开发,使用 CMake 构建系统,支持跨平台(特别是原生鸿蒙)编译,适用于医疗影像相关应用开发或DICOM格式处理等多场景。
整体框架
框架结构下图所示。自上至下分为如下几个层次:
输入层:读取导入DICOM文件,采用Loader模块将数据加载至内存;
核心处理层:采用Parser、Processor及Viewer模块实现DICOM数据的解析、图像处理(格式转换及窗口调整)及显示(像素预处理);
输出层:导出为图像文件或对接图像渲染接口(GUI);
支持层:提供相关数据结构的定义及错误处理机制;
应用层:提供相关实例程序,测试对代码库的调用。
功能模块
该库包含以下核心功能模块:
-
DICOM 加载(DICOMLoader)
- 支持读取 DICOM 格式文件
- 解析文件元数据和像素数据
-
DICOM 解析(DICOMParser)
- 提取 DICOM 标签信息(如患者信息、检查信息等)
- 解析图像维度、像素格式等关键参数
- 获取窗口水平(Window Level)配置
-
图像处理(ImageProcessor)
- 窗宽窗位调整
- 像素数据格式转换(重缩放、转换灰度值)
- 旋转、镜像等
-
图像显示(DicomViewer)
- 图像保存为 BMP 格式
- MPR 多平面重建
- 基础图像渲染与显示(需 GUI 支持)
-
示例应用(DICOMApp)
- 测试代码库加载、解析、处理及显示的完整流程