水质参数反演分析系统 (Water Quality Inversion Analysis System)
基于遥感影像处理和机器学习技术的水质监测专业软件系统,集成了完整的水域识别、耀斑处理、光谱提取、模型训练和预测分析流程。
🚀 主要特性
- 多算法耀斑去除 - 支持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:从源码安装
# 克隆仓库
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安装
pip install water-quality-inversion
🎯 快速开始
图形界面模式
water-quality-gui
命令行模式
water-quality-pipeline --config config.yaml
Python API
from water_quality_inversion import WaterQualityInversionPipeline
# 创建流水线实例
pipeline = WaterQualityInversionPipeline()
# 运行完整分析流程
pipeline.run()
📖 使用指南
基本工作流程
-
步骤1: 水域掩膜生成
- 支持Shapefile文件或NDWI自动提取
- 生成水域范围的栅格掩膜
-
步骤2: 耀斑区域检测
- 支持Otsu、Z-score、百分位数等多种检测方法
- 生成耀斑区域掩膜
-
步骤3: 耀斑去除
- Goodman、Kutser、Hedley、SUGAR四种算法
- 支持多种插值修复方法
-
步骤4: 数据预处理
- CSV数据清洗和异常值检测
- 数据标准化和特征工程
-
步骤5: 光谱提取
- 基于采样点的光谱特征提取
- 支持多种采样半径和统计计算
-
步骤5.5: 水质指数计算
- 基于光谱特征计算水质指数
- 支持自定义公式和18种水质参数
-
步骤6: 机器学习建模
- 支持18种机器学习算法
- 11种光谱预处理方法
- 3种数据划分策略
-
步骤6.5: 非经验统计回归
- 6种水质参数的非经验模型
- 基于物理原理的参数反演
-
步骤6.75: 自定义回归分析
- 完全自定义的回归分析
- 探索性数据分析工具
-
步骤7: 采样点生成
- 规则网格采样点生成
- 智能边界处理
-
步骤8/8.5/8.75: 参数预测
- 机器学习预测
- 非经验模型预测
- 自定义回归预测
-
步骤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 了解详细信息。
开发环境设置
# 安装开发依赖
pip install -e ".[dev]"
# 运行测试
pytest
# 代码格式化
black src/
isort src/
# 类型检查
mypy src/
📄 许可证
本项目基于 MIT 许可证开源 - 查看 LICENSE 文件了解详情。
📚 引用
如果您在研究中使用了本系统,请引用:
@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
🙏 致谢
感谢所有为本项目做出贡献的开发者们!
水质参数反演分析系统 - 让水质监测更智能、更精准!
Description
Languages
Python
100%