Skip to main content

Config-driven geospatial ML pipeline for natural hydrogen prospectivity mapping

Project description

CI License: MIT Python DOI

XaiGis

Introduction

XaiGis is a config-driven geospatial machine learning software pipeline for natural hydrogen prospectivity mapping from Sentinel-2 imagery. It converts raw SAFE products into analysis-ready feature stacks, rasterized training labels, sampled pixel datasets, trained classification models, prediction GeoTIFFs, and explainability outputs.

The software is designed for reproducible, end-to-end execution from the command line, with each stage exposed as a dedicated CLI command (prepare, train, predict, explain, report) and orchestrated by JSON configuration. This makes it practical both for one-off research runs and repeatable operational workflows across new areas of interest.

The framework supports both classical and quantum machine learning (QML) workflows. Classical models include SGD, Random Forest (RF), XGBoost, and LightGBM. The paper-evaluation QML workflows use PennyLane-based Variational Quantum Classifier (VQC), Quantum Neural Network (QNN), and Quantum Kernel SVM (QKernel-SVM) models.

Production-oriented implementation of the XaiGis workflow includes:

  • Sentinel-2 SAFE ingestion and 10 m harmonization
  • 22-feature stack generation (13 bands + 5 indices + 4 texture proxies)
  • Polygon-to-raster label creation
  • Pixel dataset extraction with tile-aware sampling
  • Model training and evaluation (classical: SGD/RF/XGBoost/LightGBM; QML: VQC/QNN/QKernel-SVM)
  • GeoTIFF probability and threshold masks
  • Explainability outputs (model importances with SHAP fallback)
  • Metrics and markdown reporting

Backend Software Stack

XaiGis runs as a Python CLI backend (file-based geospatial/ML pipeline). The backend stack includes:

  • Language/runtime: Python (>=3.10)
  • Geospatial processing: rasterio, geopandas
  • Scientific/data stack: numpy, pandas, scipy
  • Classical ML: scikit-learn, xgboost, lightgbm
  • Quantum ML: pennylane, autoray
  • Explainability: shap
  • Packaging/build: setuptools, wheel

Dependency constraints are defined in pyproject.toml.

Quick Start

cd /path/to/XaiGis
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
xaigis init-config --out configs/default.json
xaigis prepare --config configs/default.json
xaigis rasterize-labels --config configs/default.json
xaigis sample-dataset --config configs/default.json
xaigis train --config configs/default.json
xaigis predict --config configs/default.json
xaigis explain --config configs/default.json
xaigis report --config configs/default.json

Install from PyPI (after release):

pip install xaigis

Notes

  • Update configs/default.json paths as needed for your local inputs.
  • The pipeline is designed for large rasters and uses tile/window processing where relevant.
  • pip install xaigis installs the full dependency set (classical ML, SHAP, and QML packages).

Related Work Citation

If this codebase supports your work, please also cite the upstream scientific study:

Related Work Citation Figure

@Article{Wayo2026,
  author  = {Wayo, Dennis Delali Kwesi and Goliatt, Leonardo and Hazlett, Randy and Fustic, Milovan and Leila, Mahmoud},
  title   = {Integrated pixel-wise remote sensing and explainable machine learning for natural hydrogen exploration in southeastern part of Pricaspian Basin, Western Kazakhstan},
  journal = {Scientific Reports},
  year    = {2026},
  month   = {Feb},
  day     = {26},
  issn    = {2045-2322},
  doi     = {10.1038/s41598-026-41845-0},
  url     = {https://doi.org/10.1038/s41598-026-41845-0}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xaigis-0.1.1.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xaigis-0.1.1-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file xaigis-0.1.1.tar.gz.

File metadata

  • Download URL: xaigis-0.1.1.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xaigis-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2f6be88c3e332720c8d6992c0d4b2977dfd26b0ad36dc5a63d56792dbbad5ea8
MD5 38f3795114566a163816927f7b1afce0
BLAKE2b-256 66f90bea7be7940ecee4d057aa33763019c104963b5ca5c97d61f912f1a2cb20

See more details on using hashes here.

Provenance

The following attestation bundles were made for xaigis-0.1.1.tar.gz:

Publisher: publish-pypi.yml on DennisWayo/XaiGis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xaigis-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: xaigis-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xaigis-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9340b15584b57ee753f604b65dbb1cab187cad6e49595323c6f0f0288d88cca1
MD5 94a2f542306655bf55d7ae70417f4013
BLAKE2b-256 7ee8f64755dbb1c172599e33b317562e3d3099706e5f4c1b1daa96f773a74ba9

See more details on using hashes here.

Provenance

The following attestation bundles were made for xaigis-0.1.1-py3-none-any.whl:

Publisher: publish-pypi.yml on DennisWayo/XaiGis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page