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

56 lines
1.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.
# CLAUDE.md — cDNA微阵列图像处理作业
## 项目概述
河南理工大学计算机学院图像处理课程作业。用Python实现cDNA微阵列图像的网格划分与阈值分割。
## 项目结构
```
src/
├── cDNA_segmentation.py ← 原版:完整处理流程
└── cDNA_gridding_simple.py ← 简化版:仅划线,用于课堂讲解 ★
results/ ← 原版输出(6张图)
results_simple/ ← 简化版输出(1张图)
cDNA图像处理实例/数据/cDNA/ ← 输入图像 + MATLAB示例
参考资料/NewGridAndCV/ ← MATLAB参考实现
```
## 两个Python实现
### 简化版 (`cDNA_gridding_simple.py`) — 课堂主讲
- 算法:投影求和 → (max-min)×10%阈值 → 过零点配对 → 划线
- 约150行,带详细中文注释,适合课堂讲解
- 输出:`results_simple/gridding_simple.png`
- **与原版网格线位置完全一致(误差0像素)**
### 原版 (`cDNA_segmentation.py`) — 完整实现
- 网格划分:自相关+白顶帽+Otsu+质心(参照MATLAB `GriddingAndCV.m`
- 三种阈值分割:人工阈值、Otsu、迭代阈值
- TV去噪(Chambolle投影算法,参照 `tvdenoise.m`
## 算法要点
简化版核心逻辑(`find_gap_lines`函数):
- 减阈值后:正=斑点区域,负=空隙
- 过零点交替出现:+→-(离开斑点),-→+(进入下一个斑点)
- 配对"离开→进入",中点=空隙中央=划线位置
## 输入数据
- `cDNA.png`820×820 RGB23×23斑点阵列,Cy3/Cy5双色荧光
- 斑点间距约35px,每斑点约18px宽
## 运行环境
Python`D:\ProgramData\anaconda3\envs\my_env`
依赖:numpy, scipy, scikit-image, matplotlib, Pillow
## 仓库
Gitea: `ssh://git@192.168.5.8:2222/Serendipity/cDNA-image-processing.git`