Skip to main content

A lightweight Python library for visualizing 3D seismic data

Project description

Seismic Visualization

seisviz

A lightweight Python library for visualizing seismic data.

seisviz helps geoscientists, researchers, and students explore seismic volumes using simple, intuitive Python functions.
Load .sgy, .segy, or .npy files, visualize slices, highlight features, and overlay facies or classification labels — all within a reproducible, matplotlib-based environment.

Author: Promise Ekeh

Co-author: Perkins Offi


“I created seisviz to give the geoscience and ML community a clean, Python-native way to visualize seismic volumes — without the overhead of legacy software.”
Promise Ekeh


Key Features (v 0.1.0)

  • Load seismic volumes from .sgy, .segy, or .npy
  • View inline, xline, or depth slices with customizable colormaps
  • Overlay or compare facies/label data on slices
  • Visualize multiple orthogonal 3D slices in one plot
  • Explore sparse amplitude-based structures in 3D space
  • Choose between side-by-side and overlay display modes
  • Instantly view a random inline/xline/depth slice

Module Overview

Function Description
load_seismic_data() Load .npy, .sgy, or .segy files
plot_2D_seismic() Plot any seismic line with optional label overlay
show_random_line() Pick a random inline/xline/depth for quick inspection
plot_seismic_3d_slices() Threshold-based 3D amplitude structure viewer
plot_multiple_seismic_slices_3d() Combine multiple orthogonal slices in one 3D plot

Potential Features / Modules:

Feature Description
ML Integration Seamless overlay of ML-predicted labels and attributes
Fault Visualization Highlight structural features like faults and horizons
Interactive Viewer Scroll, pan, and slice through volumes using ipywidgets or Plotly
Horizon & Mask Overlays Display stratigraphic boundaries and region-based annotations
Volume Metadata Inline/xline/depth range auto-detection
Volume animation Scroll through slices
Synthetic Data Support Load and test synthetic cubes for research or ML prototyping

Contributing

Pull requests and feedback are welcome!
Open an issue, fork the repo, and contribute — especially if you want to help add interactivity, masks, or ML layers.

Axis Assumption

All visualization functions in seisviz assume the seismic cube is ordered as (xlines, inlines, depth). This may differ from other libraries or SEG-Y readers that use (inlines, xlines, depth) or (depth, inline, xline) formats. Please reorder your volume accordingly using reorder_volume if needed before plotting.

📄 License

MIT License © 2025 Promise Ekeh


Installation

🔧 For now, clone and install locally:

git clone https://github.com/Promisekeh/seisviz.git
cd seisviz
pip install -e .

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

seisviz-0.1.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

seisviz-0.1.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file seisviz-0.1.0.tar.gz.

File metadata

  • Download URL: seisviz-0.1.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for seisviz-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8e27850a146fbbdc8f09e0e114e09656587802a36183d0bc8d5f58ef239b3086
MD5 25c97a26051a0d354a358a4eb0b2ea18
BLAKE2b-256 ec17854a7d60ab3755cc6c522c09917634eb39bbb15c20cbcddcd3041e4041b6

See more details on using hashes here.

File details

Details for the file seisviz-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: seisviz-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for seisviz-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba2381c35660d43c71e9dd344e64140e53764758b947e6e5104906342a47b188
MD5 47ce461379fc0b99c15abaac40a0e84d
BLAKE2b-256 429dfa4c92b3530f0c83f73868fd375fe805a5f72d1f23ff515f9df30a9e0a72

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