{"id":45465389,"url":"https://github.com/nasef2017/bathymetrix-ai","last_synced_at":"2026-03-09T10:01:24.905Z","repository":{"id":315911677,"uuid":"1060386323","full_name":"Nasef2017/Bathymetrix-AI","owner":"Nasef2017","description":"An advanced Machine Learning pipeline for Satellite-Derived Bathymetry (SDB). Features ICESat-2 integration, Statistical In-Situ data filtering, and Spatial Residual Correction.","archived":false,"fork":false,"pushed_at":"2026-02-22T07:44:28.000Z","size":5624,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"Main","last_synced_at":"2026-02-22T13:46:52.897Z","etag":null,"topics":["automated-machine-learning","hydrography","icesat-2","machine-learning","ostu-threshold","qgis-plugin","ransac","residual-analysis","satellite-derived-bathymetry","statistical-analysis","sunglint","tidal"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nasef2017.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-19T20:30:34.000Z","updated_at":"2026-02-22T07:44:31.000Z","dependencies_parsed_at":"2025-09-21T16:14:52.027Z","dependency_job_id":"14180ac2-bdfe-413f-91a7-a97e10bb6173","html_url":"https://github.com/Nasef2017/Bathymetrix-AI","commit_stats":null,"previous_names":["nasef2017/satellite_derived_bathymetry_for_qgis","nasef2017/bathymetrix-ai"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/Nasef2017/Bathymetrix-AI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nasef2017%2FBathymetrix-AI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nasef2017%2FBathymetrix-AI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nasef2017%2FBathymetrix-AI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nasef2017%2FBathymetrix-AI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nasef2017","download_url":"https://codeload.github.com/Nasef2017/Bathymetrix-AI/tar.gz/refs/heads/Main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nasef2017%2FBathymetrix-AI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30290895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automated-machine-learning","hydrography","icesat-2","machine-learning","ostu-threshold","qgis-plugin","ransac","residual-analysis","satellite-derived-bathymetry","statistical-analysis","sunglint","tidal"],"created_at":"2026-02-22T09:25:05.449Z","updated_at":"2026-03-09T10:01:24.896Z","avatar_url":"https://github.com/Nasef2017.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n\u003cimg src=\"icon.png\" width=\"100\"\u003e\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n**Bathymetrix-AI: Advanced SDB Toolkit**\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n**Bathymetrix-AI** is a professional QGIS research toolkit designed for high-precision Satellite-Derived Bathymetry (SDB). It integrates Sentinel-2 multispectral imagery with ICESat-2 (ATL24) LiDAR data using a modular and adaptive Machine Learning pipeline.\nThe tool overcomes traditional bathymetry challenges like sun-glint, water turbidity, and local depth biases through a systematic 4-phase workflow.\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"Bathymetrix_AI _Workflow.png\" width=\"60%\"\u003e\n\u003c/p\u003e\n\n🔬 **Scientific Methodology**\nThe toolkit follows a modular workflow where each phase is designed to improve the accuracy of depth retrieval.\n\n**Phase 1: Automated Pre-processing \u0026 Feature Engineering**\n\nThis phase prepares the satellite imagery by isolating the aquatic domain and correcting radiometric noise.  \n**Sun-Glint Removal:** Removes surface reflections to reveal the seabed signal.  \n**Water Segmentation:** Uses an adaptive threshold to mask land and clouds.  \n**Log-Ratio Features:** Transforms spectral bands into depth-sensitive features based on light attenuation laws.\n\n***Key References:***  \nHedley et al. (2005) – Sun-glint correction.  \nMcFeeters (1996) \u0026 Otsu (1979) – Water masking and thresholding.  \nStumpf et al. (2003) – Log-ratio bathymetry model.\n\n**Phase 2: Robust Altimetry Filtering**\n\nTo ensure high-quality training data, the tool filters ICESat-2 photon-counting data to remove outliers.\nRANSAC Algorithm: Iteratively fits a linear model to identify high-confidence \"inlier\" depth points.\n**Newly added Statistical filtering Algorithms**  \n\n***Key Reference:***\nFischler \u0026 Bolles (1981) – Random Sample Consensus (RANSAC).  \nZhang et al., (2021) – LS Variance Fit, or Huber Variance Fit.  \n\n**Phase 3: Automated Global Modeling (Auto-ML)**\n\nInstead of using one algorithm, the tool benchmarks **11 different Machine Learning models** (e.g., Random Forest, Gradient Boosting, SVR, MLP) to find the best fit for your specific coastal area.  \n**Hyperparameter Optimization:** Automatically tunes model settings for maximum performance.  \n**Composite Scoring:** Ranks models based on R2, RMSE, and wMAPE.\n\n***Key Reference:***\nBergstra \u0026 Bengio (2012) – Random search for optimization.\n\n**Phase 4: Residual-Based Spatial Stacking**\n\nThis final phase corrects local errors that global models might miss by analyzing the \"residuals\" (differences) between predicted and observed depths.  \n**Spatial Error Mapping:** Interpolates local errors using k-Nearest Neighbors (k-NN).  \n**Adaptive Re-training:** Combines spectral data with error maps to produce a refined, high-accuracy final depth map.\n\n***Key Reference:***\nAlevizos (2020) – Residual analysis for shallow bathymetry.\n\n📊 **Performance Metrics**\n\nThe tool evaluates results using three main standards:  \n**R2** (Coefficient of Determination): Measures how well the model fits the data.  \n**RMSE** (Root Mean Square Error): Measures the average vertical error in meters.  \n**wMAPE** (Weighted Mean Absolute Percentage Error): Measures the relative error across different depth ranges.\n\n🛠️ **Installation \u0026 Dependencies**  \nOpen OSGeo4W Shell (as Administrator) and run:\n\n\n**python -m pip install \"numpy\u003c2.0.0\" netCDF4 pandas rasterio matplotlib seaborn scikit-learn scipy joblib scikit-optimize sliderule icepyx geopandas parquet**\n\n📧 ***Contact \u0026 Citation***\n\n**Author:** Mohamed Aly Nasef  \n**Email:** Eng.m.nasef2017@gmail.com, Nasefm.aly@alexu.edu.eg  \n**Citation:** Nasef M.Aly. (2026). Nasef2017/Bathymetrix-AI: Bathymetrix-AI v4.1 (v4.1). Zenodo. https://doi.org/10.5281/zenodo.18730120\n\n🤖 **AI Acknowledgment**  \nThe development of the Bathymetrix-AI code, its logical structure, and the technical documentation were significantly enhanced and optimized using Google Gemini. The AI assisted in debugging complex workflows and ensuring the implementation follows best practices in data science.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasef2017%2Fbathymetrix-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnasef2017%2Fbathymetrix-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasef2017%2Fbathymetrix-ai/lists"}