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.1.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.1-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for geoinsights_3d-1.1.tar.gz
Algorithm Hash digest
SHA256 9d2ef4f66f15cd88095eaefd89ea66f7cb4e455a870d5b58ff2fbb6b543ea883
MD5 815502132efab3cfe4ca5d3dd8fc29fe
BLAKE2b-256 8d477379d8a13f6f3cdee5895bceefdfdcae07c02f0c59a8a94cdeb903ac7069

See more details on using hashes here.

File details

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

File metadata

  • Download URL: geoinsights_3d-1.1-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.12.5

File hashes

Hashes for geoinsights_3d-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41cf8f04cb5cac250066f4f08c48e75a94a28a9be74a291c43ba2c2140ffd060
MD5 74f4f2c451165f6f3e06eaecf9fa69a1
BLAKE2b-256 c72b0e3d7721bd30d9cbba121e1012e79b7fc648111dc23e6b1e593760c9a447

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