Initial commit of WQ_GUI
This commit is contained in:
215
README.md
Normal file
215
README.md
Normal file
@ -0,0 +1,215 @@
|
||||
# 水质参数反演分析系统 (Water Quality Inversion Analysis System)
|
||||
|
||||
[](https://www.python.org/downloads/)
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[]()
|
||||
|
||||
基于遥感影像处理和机器学习技术的水质监测专业软件系统,集成了完整的水域识别、耀斑处理、光谱提取、模型训练和预测分析流程。
|
||||
|
||||
## 🚀 主要特性
|
||||
|
||||
- **多算法耀斑去除** - 支持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
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
感谢所有为本项目做出贡献的开发者们!
|
||||
|
||||
---
|
||||
|
||||
**水质参数反演分析系统** - 让水质监测更智能、更精准!
|
||||
Reference in New Issue
Block a user