CLFS 流式细胞仪软件 UML 类图 - Drawing2
来源:Drawing2.vsdx,04软件开发/用户软件/ 目录下的 Visio UML 类图 项目:CLFS / C-Light 流式细胞仪软件(国科医疗 / 苏州医工所) 文件格式:Visio .vsdx(7页,其中第1页为UML类图,其余6页为BMP截图无法提取文本)
概述
Drawing2.vsdx 是 CLFS 流式细胞仪软件的 UML 类设计图,描述了 FCS 数据处理与文件操作相关的核心类结构。共 11 个类,涵盖数据采集、FCS文件读写、门控、补偿、绘图、全局配置等模块。
核心类一览
| 类名 | 职责说明 | 已知成员 |
|---|---|---|
| DataAcquirement | 数据采集模块,负责从硬件获取数据并加载到内存 | GetDataFromFile、FileDataToMemory、OpenFile、FCSDataToMemory |
| FcsFile | FCS 数据文件操作类 | Save_File、GenHeadSegment |
| SaveFile | 文件保存相关功能 | (成员名未提取) |
| PlotsFile | 绘图/图形数据文件操作 | (成员名未提取) |
| GateFile | 门控文件操作类 | (成员名未提取) |
| ReadGates | 门控读取功能类 | (成员名未提取) |
| GateInfo | 门控信息数据结构 | (成员名未提取) |
| Compensation | 荧光补偿计算模块 | compen_Calculate |
| Matrix | 矩阵运算(用于补偿矩阵) | (成员名未提取) |
| Global | 全局变量/状态管理 | (成员名未提取) |
| GlobalConstants | 全局常量定义 | (成员名未提取) |
类详细说明
1. DataAcquirement(数据采集)
数据流入口类,负责从不同来源获取 FCS 数据:
- GetDataFromFile — 从文件读取数据
- FileDataToMemory — 将文件数据加载到内存
- OpenFile — 打开 FCS 文件
- FCSDataToMemory — FCS 格式数据解析加载到内存
该类是硬件采集和文件导入两条数据流的汇合点。
2. FcsFile(FCS 文件操作)
FCS 标准文件的读写操作:
- Save_File — 保存 FCS 文件
- GenHeadSegment — 生成 FCS 文件头段(HEADER segment)
FCS 3.1 标准文件包含 HEADER / TEXT / DATA / ANALYSIS 四段,GenHeadSegment 负责头部生成。
3. Compensation(荧光补偿)
荧光串扰补偿计算模块:
- compen_Calculate — 补偿计算核心方法
结合全矩阵补偿原理,使用补偿矩阵 K 的逆矩阵 K⁻¹ 对荧光串扰进行解串扰。可参考 荧光补偿算法-液相芯片多色荧光检测。
4. Matrix(矩阵类)
矩阵运算工具类,为补偿计算提供数学支撑。补偿的核心是矩阵求逆运算。
5. GateFile / ReadGates / GateInfo(门控相关)
门控(Gating)相关的三个类,分别负责:
- GateFile — 门控文件的存取
- ReadGates — 门控数据读取
- GateInfo — 门控信息数据结构
门控是流式细胞仪数据分析的核心功能,支持矩形门、多边形门、十字门、象限门等多种类型。可参考 Gating-ML 2.0-流式细胞仪门控描述XML标准。
6. PlotsFile / SaveFile(文件操作)
- PlotsFile — 绘图数据/图形文件操作
- SaveFile — 通用文件保存功能
7. Global / GlobalConstants(全局管理)
- Global — 全局状态/变量管理
- GlobalConstants — 全局常量定义
模块架构分析
从类的职责划分来看,软件采用了分层模块化设计:
┌─────────────────────────────────────────────────────┐
│ 应用层(UI/业务) │
├────────────┬──────────┬──────────┬──────────────────┤
│ Global │ GateFile │ PlotsFile│ SaveFile │
│ GlobalCon │ ReadGates│ │ FcsFile │
│ │ GateInfo │ │ │
├────────────┴──────────┴──────────┼──────────────────┤
│ 数据处理层 │ 数据采集层 │
│ Compensation / Matrix │ DataAcquirement │
└──────────────────────────────────┴──────────────────┘
关键设计要点
- FCS 标准兼容:FcsFile 类明确支持 FCS 文件格式,含 HEADER 段生成,符合 ISAC FCS 3.1 标准
- 补偿与矩阵分离:Compensation 类专注业务逻辑,Matrix 类提供底层数学运算,职责分离清晰
- 门控三类划分:GateFile(文件)/ ReadGates(读取)/ GateInfo(数据结构),符合单一职责原则
- 数据采集统一入口:DataAcquirement 同时支持文件读取和硬件采集两种数据来源
与其他文档的关联
- 与 CLFS流式细胞仪软件需求规格说明书-V1.1-20160725 中的功能模块对应
- 与 CLFS流式细胞仪软件概要设计说明书-V1.4 中的三层架构互补(本图为数据处理层的类级细化)
- 与 CLFS流式细胞仪软件详细设计说明书-V1.0-20180829 中的详细类设计呼应
- 补偿算法可参考 荧光补偿算法-液相芯片多色荧光检测
- FCS 标准可参考 FCS 3.1-流式细胞术数据文件标准
- 门控标准可参考 Gating-ML 2.0-流式细胞仪门控描述XML标准
局限性说明
- Visio 共 7 页,仅第 1 页为可提取文本的 UML 类图(矢量),其余 6 页为 BMP 位图截图,无法通过 XML 提取文本
- 部分类的成员/方法名称未在 User Section 中显式存储,可能需要结合详细设计文档对照理解
- 类之间的继承、关联、依赖等关系在 XML 中未找到连接元数据,需从类名和职责推断