Skip to main content

Rapid drilling data visualisation and analysis for geologists with AI.

Project description

GeoInsights 3D

License: MIT

GeoInsights 3D is an open-source Python application designed to accelerate the exploratory data analysis (EDA) workflow for geologists and data scientists working with drilling data.

📖 Tutorial & Documentation

A comprehensive, step-by-step tutorial is available that walks through all the major features of the application, from loading data to generating 3D models and running AI analysis.

➡️ Read the full tutorial on Medium

Project Link: https://github.com/chapmangj/geoinsights3d

Key Features

  • Data Ingestion and Preparation: The software directly handles common drilling data formats and includes a length-weighted compositing tool to standardize sample intervals, a critical prerequisite for reliable statistical analysis and modeling.

  • Statistical Analysis: The application provides rapid generation of key statistical summaries, including descriptive statistics tables, histograms, and box plots. This allows for immediate quantitative assessment of data distributions and relationships between variables.

  • Interactive Visualisation and Spatial Analysis: The core of the application is a 3D viewer for drillhole data. Users can dynamically filter by grade or lithology and apply vertical exaggeration. The software also generates 2D cross-sections (drill fences) and swath plots, which are essential tools for identifying spatial trends and geological continuity.

  • Automated 3D Modeling: To overcome the time-consuming nature of manual interpretation, the software includes automated tools for creating 3D grade shells. It uses Principal Component Analysis (PCA) to determine the natural anisotropy of mineralisation, followed by Radial Basis Function (RBF) interpolation to create an objective 3D model. This same engine also generates 3D solid models from categorical data, such as logged lithologies or the outputs from geochemical clustering, allowing for the visualisation of discrete geological bodies.

  • Geochemical Domain Modeling: The software implements PCA and K-Means clustering to define geological domains objectively from geochemical data. This provides a repeatable method to group samples with similar properties, helping to overcome the inherent subjectivity of manual logging. The results can be validated spatially in 3D and statistically with integrated plots.

  • Explainable Machine Learning (XAI): To move beyond "black box" models, the application integrates SHAP (SHapley Additive exPlanations) [@lundberg2017]. This allows geologists to interpret machine learning results, providing clear insights into the key geochemical drivers that control mineralisation.

  • Generative AI Integration: The software leverages Google Large Language Models to offer two novel features. The AI Geo Data Interpreter provides automated, context-aware geological summaries based on the loaded data. The AI Data Playground offers a natural language interface, allowing users to perform complex data queries, analyses and plots without writing code.

  • Anomaly Detection for Data Quality Control: The application employs Autoencoder neural networks for anomaly detection. This serves a dual purpose: identifying novel geochemical signatures that may warrant further exploration, and acting as a powerful data quality control tool to flag potential logging errors or sample swaps.

Installation

Using pip, you can install GeoInsights 3D directly from the Python Package Index (PyPI).

1. Create and activate a virtual environment (Strongly Recommended):

It is best practice to install packages in a dedicated virtual environment to avoid conflicts with other projects.

  • For Windows:

    python -m venv venv
    .\venv\Scripts\activate
    
  • For macOS/Linux:

    python3 -m venv venv
    source venv/bin/activate
    

2. Install GeoInsights 3D:

With your virtual environment active, install the package using pip:

pip install geoinsights-3d

3. Set up API Key (Optional for AI features):

The generative AI features require a Google Gemini API key.

Create a file named .streamlit/secrets.toml in the root of the project directory.

Add your API key to this file as follows:

.streamlit/secrets.toml GOOGLE_API_KEY = "YOUR_API_KEY_HERE"

Running the Application

Once the installation is complete, run the following command from the project's root directory:

geoinsights-3d

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

geoinsights_3d-1.101.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

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

geoinsights_3d-1.101-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file geoinsights_3d-1.101.tar.gz.

File metadata

  • Download URL: geoinsights_3d-1.101.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for geoinsights_3d-1.101.tar.gz
Algorithm Hash digest
SHA256 951d0511f811e8c77a4d7d3133c34746b237791695b173023a3af2fcd34315b6
MD5 9a6064ba4d268fb5c599d301407e2960
BLAKE2b-256 955574429c7d1b69c142f7b890f3ff80b12816e422665e6f2131ab9e80bdaa72

See more details on using hashes here.

File details

Details for the file geoinsights_3d-1.101-py3-none-any.whl.

File metadata

  • Download URL: geoinsights_3d-1.101-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for geoinsights_3d-1.101-py3-none-any.whl
Algorithm Hash digest
SHA256 ccc6f406d2c7928c02a79a3b755945161cbe5649aad530169dd4c9448d2bd137
MD5 743e9117a2ff6f0a27c3bed17123ff32
BLAKE2b-256 5db690bb54f47120e9d6f5048931de5ec636a0e307d8cd9cd87d83f133fa8dfa

See more details on using hashes here.

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