refactor: 项目目录结构重组

- 中文目录名改为英文:cDNA图像处理实例→examples,参考资料→references
- web→app(Flask应用标准命名)
- 输出目录平移到 data/output/simple/ 和 data/output/full/
- 输入图像统一到 data/input/
- 构建脚本移到 scripts/
- 源码文件改用 snake_case 命名
- 更新所有文件路径引用和文档
This commit is contained in:
2026-07-16 20:59:58 +08:00
parent a720845948
commit 3ca079a980
100 changed files with 98 additions and 71 deletions
+45 -30
View File
@@ -15,28 +15,38 @@
```
cDNA微阵列图像处理作业/
├── src/
│ ├── cDNA_segmentation.py # 原版:网格划分 + 三种阈值分割 + TV去噪
│ └── cDNA_gridding_simple.py # 简化版:仅网格划分,用于课堂讲解
│ ├── segmentation.py # 原版:网格划分 + 三种阈值分割 + TV去噪
│ └── gridding_simple.py # 简化版:仅网格划分,用于课堂讲解
├── web/ # Flask Web 应用
│ ├── app.py # Flask 主程序
│ ├── launcher.py # PyInstaller 打包入口
│ ├── templates/index.html # 前端页面
│ └── static/style.css # 样式文件
├── app/ # Flask Web 应用
│ ├── main.py # Flask 主程序
│ ├── launcher.py # PyInstaller 打包入口
│ ├── templates/index.html # 前端页面
│ └── static/style.css # 样式文件
├── build_exe.py # PyInstaller 打包脚本
├── cDNA_Analyzer.spec # PyInstaller spec 配置
├── flowchart.drawio # 算法流程图(用 Draw.io 打开)
├── scripts/
│ └── build.py # PyInstaller 打包脚本
├── data/
│ ├── input/ # 输入图像
│ │ └── cDNA.png
│ └── output/ # 生成结果
│ ├── simple/ # 简化版输出(6张图)
│ └── full/ # 原版输出(6张图)
├── examples/ # 课程示例数据(含 pptx + MATLAB demo
├── references/ # 参考资料
│ ├── papers/ # 论文 PDF
│ └── matlab/ # MATLAB 参考代码(NewGridAndCV
├── results/ # 原版输出图像(6张)
├── results_simple/ # 简化版输出图像(6张)
├── docs/ # 技术文档
│ ├── cDNA 微阵列网格划分.md # 算法详解
│ ├── 两版差异说明.md # 简化版 vs 原版对比
│ └── 依赖库清单.md # Python 依赖
│ ├── cDNA 微阵列网格划分.md
│ ├── 两版差异说明.md
│ └── 依赖库清单.md
├── cDNA图像处理实例/ # 课程示例数据
── 参考资料/ # MATLAB 参考代码 + 论文 PDF
├── flowchart.drawio # 算法流程图
── README.md
└── CLAUDE.md
```
---
@@ -50,28 +60,33 @@ cDNA微阵列图像处理作业/
### 方式二:Web 开发模式
```bash
cd web
python app.py
# 首次使用需创建虚拟环境
uv venv .venv --python <你的Python路径>
uv pip install numpy scipy scikit-image matplotlib Pillow flask --python .venv/Scripts/python.exe
# 启动
cd app
python main.py
# 浏览器自动打开 http://localhost:5000
```
### 方式三:命令行脚本
```bash
# 简化版(课堂主讲,约150行)
python src/cDNA_gridding_simple.py
# 输出:results_simple/ 下 6 张图
# 简化版(课堂主讲,约370行)
python src/gridding_simple.py
# 输出:data/output/simple/ 下 6 张图
# 原版(完整实现,430行)
python src/cDNA_segmentation.py
# 输出:results/ 下 6 张图
# 原版(完整实现,约470行)
python src/segmentation.py
# 输出:data/output/full/ 下 6 张图
```
---
## 两种 Python 实现
### 简化版 `cDNA_gridding_simple.py`(课堂主讲)
### 简化版 `src/gridding_simple.py`(课堂主讲)
**算法思路**(初中学历即可理解):
@@ -85,12 +100,12 @@ python src/cDNA_segmentation.py
**特点**
-150 行代码,带详细中文注释
-370 行代码,带详细中文注释
- 核心逻辑仅 30 行
- 与原版网格线位置误差为 **0 像素**
- 完全自动化,无需人工设定参数
### 原版 `cDNA_segmentation.py`(完整实现)
### 原版 `src/segmentation.py`(完整实现)
| 模块 | 算法 | 参照 |
|------|------|------|
@@ -128,7 +143,7 @@ python src/cDNA_segmentation.py
使用 PyInstaller 将 Web 应用打包为单个 exe 文件:
```bash
python build_exe.py
python scripts/build.py
# 输出:dist/cDNA_Analyzer.exe(约 68MB
```
@@ -138,7 +153,7 @@ python build_exe.py
## 运行环境
- **Python**: `D:\ProgramData\anaconda3\envs\my_env`
- **Python**: 3.13uv 虚拟环境 `.venv/`
- **依赖**: numpy, scipy, scikit-image, matplotlib, Pillow, Flask
---