软件简介

AnyImaging Processing Library是一个轻量级的开源DICOM 文件处理库,提供 DICOM 文件加载、数据解析、图像处理及格式转换等核心功能。该库基于 C++11 开发,使用 CMake 构建系统,支持跨平台(特别是原生鸿蒙)编译,适用于医疗影像相关应用开发或DICOM格式处理等多场景。

整体框架

框架结构下图所示。自上至下分为如下几个层次:
输入层:读取导入DICOM文件,采用Loader模块将数据加载至内存;
核心处理层:采用Parser、Processor及Viewer模块实现DICOM数据的解析、图像处理(格式转换及窗口调整)及显示(像素预处理);
输出层:导出为图像文件或对接图像渲染接口(GUI);
支持层:提供相关数据结构的定义及错误处理机制;
应用层:提供相关实例程序,测试对代码库的调用。

功能模块

该库包含以下核心功能模块:
  1. DICOM 加载(DICOMLoader)
    • 支持读取 DICOM 格式文件
    • 解析文件元数据和像素数据
  2. DICOM 解析(DICOMParser)
    • 提取 DICOM 标签信息(如患者信息、检查信息等)
    • 解析图像维度、像素格式等关键参数
    • 获取窗口水平(Window Level)配置
  3. 图像处理(ImageProcessor)
    • 窗宽窗位调整
    • 像素数据格式转换(重缩放、转换灰度值)
    • 旋转、镜像等
  4. 图像显示(DicomViewer)
    • 图像保存为 BMP 格式
    • MPR 多平面重建
    • 基础图像渲染与显示(需 GUI 支持)
  5. 示例应用(DICOMApp)
    • 测试代码库加载、解析、处理及显示的完整流程