Skip to content

mariosgeo/Geology

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

25 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Geology - Professional Geological Model Reconstruction Toolkit

Python Version PyPI version PyPI - Downloads License: MIT Documentation Status Code style: black

๐Ÿ“ฆ Package Status: โœ… LIVE ON PYPI! ๐ŸŽ‰
๐Ÿš€ Installation: pip install Geology
๐ŸŒ PyPI URL: https://pypi.org/project/Geology/

A comprehensive Python toolkit for geological model reconstruction using advanced inpainting techniques and machine learning methods.

This repository contains a professional implementation for geological subsurface model reconstruction from sparse data using state-of-the-art computational methods. The toolkit combines biharmonic inpainting, machine learning classification, and uncertainty quantification to create robust geological models from incomplete datasets.

Geological Model

๐Ÿงฌ Scientific Overview

Geological subsurface characterization often faces the challenge of sparse and irregularly distributed data points. This toolkit addresses this fundamental problem by implementing advanced computational methods for geological model reconstruction:

  • ๐Ÿ”ฌ Biharmonic Inpainting: Smooth interpolation preserving geological boundaries and structural continuity
  • ๐Ÿค– Machine Learning Classification: One-vs-all and probabilistic classification for multi-class geological units
  • ๐Ÿ“Š Weighted Interpolation: Anisotropic interpolation respecting geological fabric and preferential directions
  • ๐Ÿ“ˆ Uncertainty Quantification: Comprehensive uncertainty analysis with confidence intervals and error propagation
  • ๐ŸŽฏ 3D Visualization: Professional VTK-based visualization for geological models and validation

๐Ÿš€ Key Features

Core Functionality

  • Advanced Inpainting Algorithms: Biharmonic PDE-based interpolation for geological boundaries
  • Multi-Class Classification: Sophisticated geological unit prediction with uncertainty estimates
  • Anisotropic Interpolation: Directional interpolation respecting geological structures
  • Memory-Efficient Processing: Batch processing for large geological datasets
  • Cross-Platform Compatibility: Windows, Linux, and macOS support

Data Integration

  • Multiple Data Formats: Support for borehole logs, geological surveys, and geophysical data
  • Geospatial Integration: Native support for coordinate systems and geospatial data formats
  • Quality Control: Automated data validation and outlier detection
  • Missing Data Handling: Robust algorithms for incomplete geological datasets

Visualization and Export

  • Professional 3D Visualization: High-quality geological model rendering
  • Publication-Ready Figures: Scientific plotting with geological colormaps and annotations
  • VTK Export: Compatible with ParaView, VisIt, and other professional visualization software
  • Interactive Dashboards: Jupyter notebook integration with interactive widgets

๐Ÿ“ Project Structure

Geology/
โ”œโ”€โ”€ ๐Ÿ““ demo.ipynb                    # Main demonstration notebook with examples
โ”œโ”€โ”€ ๐Ÿ“‹ requirements.txt              # Core dependencies
โ”œโ”€โ”€ ๐Ÿ—๏ธ setup.py                     # Professional package configuration
โ”œโ”€โ”€ ๐Ÿ“– README.md                     # This comprehensive guide
โ”œโ”€โ”€ ๐Ÿ“Š Data Files/
โ”‚   โ”œโ”€โ”€ geotop.npy                   # 3D geological model data
โ”‚   โ”œโ”€โ”€ top_layer.gpkg              # Geological layer (GeoPackage format)
โ”‚   โ”œโ”€โ”€ data_final.xlsx             # Processed geological dataset
โ”‚   โ””โ”€โ”€ real_model.npy              # Reference geological model
โ”œโ”€โ”€ ๐Ÿงฎ gridder/                     # Geological gridding and inpainting
โ”‚   โ”œโ”€โ”€ __init__.py                 # Module initialization
โ”‚   โ””โ”€โ”€ gridder.py                  # Core geological algorithms
โ”œโ”€โ”€ ๐ŸŽจ geo_vtk/                     # Professional VTK visualization tools
โ”‚   โ”œโ”€โ”€ src/vtkclass/               # VTK conversion classes
โ”‚   โ”œโ”€โ”€ data/                       # Example geological datasets
โ”‚   โ””โ”€โ”€ README.md                   # VTK toolkit documentation
โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ images/                      # Documentation figures and results
โ”œโ”€โ”€ ๐Ÿ“š docs/                        # Comprehensive documentation
โ””โ”€โ”€ ๐Ÿงช tests/                       # Automated testing suite

๐Ÿ“ฆ Installation

๐ŸŽ‰ Now Available on PyPI!

Geology is officially published on the Python Package Index (PyPI)! Installation is now as simple as:

pip install Geology

This command installs the complete geological toolkit with all core dependencies. The package is now globally available to the Python community for geological modeling and analysis.

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.8+: Modern Python with scientific computing support
  • Jupyter Notebook: For interactive geological modeling workflows

Installation Options

Option 1: PyPI Installation (Recommended) โœ…

# Install from PyPI - NOW LIVE!
pip install Geology

# Verify installation
python -c "import geology; print('Geology package successfully installed!')"

Launch interactive notebook

jupyter notebook demo.ipynb


#### Option 2: PyPI with Enhanced Features
```bash
# Install with visualization enhancements
pip install Geology[visualization]

# Install with geospatial capabilities  
pip install Geology[geospatial]

# Install with development tools
pip install Geology[dev]

# Install complete toolkit with all features
pip install Geology[all]

Option 3: Alternative Installation from Test PyPI (Legacy)

# Install from Test PyPI (development version)
pip install --index-url https://test.pypi.org/simple/ geology-Marios-toolkit

# Note: Use production PyPI version (Option 1) for stable releases

Option 4: Development Installation from Source

# Clone the repository
git clone https://github.com/mariosgeo/Geology.git
cd Geology

# Install in development mode
pip install -e .

# Or install with development tools
pip install -e .[dev]

Option 5: Manual Installation from Source

# Clone and set up from source
git clone https://github.com/mariosgeo/Geology.git
cd Geology

# Install core dependencies
pip install -r requirements.txt

# Install package
pip install .

Quick Example

import geology
import numpy as np

# Create geological gridder
geo_model = geology.create_geological_model()

# Set up geological grid
geo_model.make_grid(dx=1.0, dy=1.0)  # 1m resolution

# Load borehole data and perform gridding
geo_model.gridder()

# Perform geological inpainting
geo_model.one_vs_all(x_weight=1.0, y_weight=3.0)  # Anisotropic weights

# Create 3D visualization
vtk_converter = geology.create_vtk_converter()
vtk_converter.make_3d_grid_to_vtk('geological_model.vtk', 
                                  geo_model.prediction_data,
                                  x_coords, y_coords, z_coords)

print(f"Geology package version: {geology.get_version()}")
print(f"Geological model created with {geo_model.uncertainty:.2%} average uncertainty")

๐ŸŽ‰ Package Release Status

โœ… OFFICIALLY RELEASED ON PYPI ๐Ÿš€:

  • โœ… Package configuration and build system
  • โœ… Distribution files created and validated
  • โœ… Successfully uploaded to Production PyPI
  • โœ… Package name: Geology
  • โœ… Global availability through pip install Geology

๐ŸŒ Production Package Access:

Main PyPI (LIVE NOW):

pip install Geology

๐Ÿ“ Official Package Information:

  • Package Name: Geology
  • Version: 1.0.0
  • PyPI URL: https://pypi.org/project/Geology/
  • Package Size: ~16-18 MB (includes comprehensive geological datasets)
  • Dependencies: Complete scientific Python ecosystem
  • Release Date: October 2025

๐ŸŒ Advancing Geological Understanding Through Machine Learning ๐ŸŒ

Made with โค๏ธ for Geoscience Python PyPI VTK Open Science

๐ŸŽ‰ NOW LIVE ON PYPI: pip install Geology ๐ŸŒŸ

About

Geological Model Reconstruction Toolkit

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors