Files
cDNA-image-processing/README.md
T
Serendipity 249779ae72 docs: 重写README突出作业实现,新增CLAUDE.md
README: 以"我的Python实现"为中心,对比原版与简化版
CLAUDE.md: 项目概述、算法要点、文件结构
2026-05-06 20:23:21 +08:00

98 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# cDNA 微阵列图像处理作业
> **作者**: 刘航宇 | 河南理工大学计算机学院 | 2026
---
## 作业内容
本作业来自《图像处理实例1:cDNA图像分析》,完成以下三个任务:
| 任务 | 内容 | 实现状态 |
|------|------|----------|
| 1 | 分析涉及的图像处理技术 | 见PPTX |
| 2 | 编写阈值分割代码(人工阈值 / 迭代阈值 / Otsu) | `src/cDNA_segmentation.py` |
| 3 | 选取cDNA图像进行分割 | 对cDNA.png完成网格划分+分割 |
---
## 我的Python实现
### 文件结构
```
src/
├── cDNA_segmentation.py # 原版:完整流程(网格划分 + 阈值分割 + 可视化)
└── cDNA_gridding_simple.py # 简化版:仅划线,适合课堂讲解
results/ ← 原版输出
results_simple/ ← 简化版输出
```
### 原版 (`cDNA_segmentation.py`)
完整实现,参照MATLAB代码 `NewGridAndCV/`
| 模块 | 方法 |
|------|------|
| 网格划分 | 投影 → 自相关估间距 → 白顶帽去背景 → Otsu → 质心提取 |
| 阈值分割 | 人工固定阈值、Otsu自动阈值、迭代阈值 |
| 去噪 | TV全变分去噪(Chambolle投影算法) |
| 后处理 | 去小连通域 + 保留最大连通域 |
### 简化版 (`cDNA_gridding_simple.py`) ★ 课堂主讲
算法3步即可理解,与原版误差为 **0像素**
```
1. 灰度图 → 每列/行灰度值求和 → 投影曲线
2. 阈值 X = (max - min) × 10%,曲线减 X
3. 正=斑点,负=空隙 → 过零点配对 → 中点即划线位置
```
---
## 运行
```bash
# 原版(需要 numpy, scipy, skimage, PIL, matplotlib
python src/cDNA_segmentation.py
# 简化版(依赖同上)
python src/cDNA_gridding_simple.py
```
Python 环境:`my_env`Anaconda),路径 `D:\ProgramData\anaconda3\envs\my_env`
---
## 参考资料
### 参考论文
| 论文 | 作者 | 来源 |
|------|------|------|
| 高污染基因芯片图像的网格划分 | 芦碧波 | 河南理工大学学报, 2019 |
| 低对比度cDNA图像分割的局部水平集方法 | 芦碧波等 | 中国图象图形学报, 2014 |
### MATLAB参考代码
`参考资料/NewGridAndCV/` — MathWorks官方示例改编版,含网格划分与Chan-Vese水平集分割。
### 数据来源
`cDNA图像处理实例/数据/cDNA/` — 源自GEO数据库(GSM16390),Cy3/Cy5双通道荧光标记。
---
## 结果对比
| | 原版(自相关+白顶帽) | 简化版(投影+阈值+过零点) |
|---|---|---|
| 算法复杂度 | 高(须懂自相关/形态学) | 低(加减乘除即可理解) |
| 网格线数量 | 22×22 | 22×22 |
| 线条位置 | 42, 77, 112, … | 42, 77, 112, … |
| 误差 | — | **0像素** |
简化版虽算法极简,但精度与原版完全一致,非常适合课堂讲解和教学演示。