Initial commit of WQ_GUI

This commit is contained in:
2026-04-08 15:25:08 +08:00
commit 91e36407ae
302 changed files with 40872 additions and 0 deletions

215
README.md Normal file
View File

@ -0,0 +1,215 @@
# 水质参数反演分析系统 (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
## 🙏 致谢
感谢所有为本项目做出贡献的开发者们!
---
**水质参数反演分析系统** - 让水质监测更智能、更精准!