Files
WQ_GUI/README.md
2026-04-08 15:25:08 +08:00

216 lines
5.9 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.

# 水质参数反演分析系统 (Water Quality Inversion Analysis System)
[![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Build Status](https://img.shields.io/badge/build-passing-green.svg)]()
基于遥感影像处理和机器学习技术的水质监测专业软件系统,集成了完整的水域识别、耀斑处理、光谱提取、模型训练和预测分析流程。
## 🚀 主要特性
- **多算法耀斑去除** - 支持Goodman、Kutser、Hedley、SUGAR等多种去耀斑算法
- **智能水域识别** - 基于NDWI阈值分割和Shapefile掩膜的自动水域提取
- **机器学习建模** - 支持多种机器学习算法随机森林、XGBoost、神经网络等
- **非经验统计回归** - 基于物理原理的叶绿素a、总氮、总磷等参数反演
- **高精度空间插值** - 距离扩散插值生成平滑的水质分布图
- **可视化分析** - 丰富的图表展示和空间分布可视化
- **用户友好界面** - 基于PyQt5的图形化操作界面
## 📋 系统要求
### 硬件要求
- **处理器**: Intel Core i5 或同等性能以上
- **内存**: 8GB RAM推荐16GB
- **存储**: 至少10GB可用空间
- **显卡**: 支持OpenGL 3.0以上
### 软件要求
- **操作系统**: Windows 10/11, Linux, macOS
- **Python版本**: 3.8+
- **必要依赖**: GDAL, NumPy, Pandas, Scikit-learn, PyQt5等
## 🛠️ 安装
### 方式1从源码安装
```bash
# 克隆仓库
git clone https://github.com/waterquality/water-quality-inversion.git
cd water-quality-inversion
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/macOS
# 或
venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 安装包
pip install -e .
```
### 方式2使用pip安装
```bash
pip install water-quality-inversion
```
## 🎯 快速开始
### 图形界面模式
```bash
water-quality-gui
```
### 命令行模式
```bash
water-quality-pipeline --config config.yaml
```
### Python API
```python
from water_quality_inversion import WaterQualityInversionPipeline
# 创建流水线实例
pipeline = WaterQualityInversionPipeline()
# 运行完整分析流程
pipeline.run()
```
## 📖 使用指南
### 基本工作流程
1. **步骤1: 水域掩膜生成**
- 支持Shapefile文件或NDWI自动提取
- 生成水域范围的栅格掩膜
2. **步骤2: 耀斑区域检测**
- 支持Otsu、Z-score、百分位数等多种检测方法
- 生成耀斑区域掩膜
3. **步骤3: 耀斑去除**
- Goodman、Kutser、Hedley、SUGAR四种算法
- 支持多种插值修复方法
4. **步骤4: 数据预处理**
- CSV数据清洗和异常值检测
- 数据标准化和特征工程
5. **步骤5: 光谱提取**
- 基于采样点的光谱特征提取
- 支持多种采样半径和统计计算
6. **步骤5.5: 水质指数计算**
- 基于光谱特征计算水质指数
- 支持自定义公式和18种水质参数
7. **步骤6: 机器学习建模**
- 支持18种机器学习算法
- 11种光谱预处理方法
- 3种数据划分策略
8. **步骤6.5: 非经验统计回归**
- 6种水质参数的非经验模型
- 基于物理原理的参数反演
9. **步骤6.75: 自定义回归分析**
- 完全自定义的回归分析
- 探索性数据分析工具
10. **步骤7: 采样点生成**
- 规则网格采样点生成
- 智能边界处理
11. **步骤8/8.5/8.75: 参数预测**
- 机器学习预测
- 非经验模型预测
- 自定义回归预测
12. **步骤9: 分布图生成**
- 空间插值和栅格化
- 多格式输出GeoTIFF, PNG, PDF
## 🏗️ 项目结构
```
water-quality-inversion/
├── src/ # 源代码目录
│ ├── core/ # 核心算法模块
│ │ ├── glint_removal/ # 耀斑去除算法
│ │ ├── modeling/ # 建模算法
│ │ └── prediction/ # 预测算法
│ ├── preprocessing/ # 数据预处理模块
│ ├── postprocessing/ # 后处理模块
│ ├── visualization/ # 可视化模块
│ ├── utils/ # 工具函数
│ └── gui/ # GUI界面
├── data/ # 数据目录
│ ├── input/ # 输入数据
│ ├── output/ # 输出结果
│ └── models/ # 模型文件
├── docs/ # 文档目录
├── scripts/ # 构建和部署脚本
├── tests/ # 测试目录
├── requirements.txt # 依赖文件
├── setup.py # 安装配置
├── pyproject.toml # 项目配置
└── README.md # 项目说明
```
## 🤝 贡献
欢迎贡献代码!请查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解详细信息。
### 开发环境设置
```bash
# 安装开发依赖
pip install -e ".[dev]"
# 运行测试
pytest
# 代码格式化
black src/
isort src/
# 类型检查
mypy src/
```
## 📄 许可证
本项目基于 MIT 许可证开源 - 查看 [LICENSE](LICENSE) 文件了解详情。
## 📚 引用
如果您在研究中使用了本系统,请引用:
```bibtex
@software{water_quality_inversion,
title = {Water Quality Inversion Analysis System},
author = {Water Quality Research Team},
url = {https://github.com/waterquality/water-quality-inversion},
version = {1.0.0},
year = {2025}
}
```
## 📞 联系我们
- **项目主页**: https://github.com/waterquality/water-quality-inversion
- **问题反馈**: https://github.com/waterquality/water-quality-inversion/issues
- **邮箱**: support@waterquality.com
## 🙏 致谢
感谢所有为本项目做出贡献的开发者们!
---
**水质参数反演分析系统** - 让水质监测更智能、更精准!