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