Skip to main content

Seismic viewer for numpy

Project description

EasyQC

Seismic Viewer for numpy arrays using pyqtgraph.

Usage Instructions

The goal is to provide an interactive seismic viewer at the python prompt. NB: if you use ipython use the %gui qt magic command before !

Keyboard Shortcuts

  • ctrl + A: increase display gain by +3dB
  • ctrl + Z: deacrease display gain by +3dB
  • ctrl + P: take screenshot to clipboard
  • ctrl + P: propagates display accross all windows (same window size, same axis, same gain)
  • ctrl + S: captures screenshot of the plot area in the clipboard
  • up/down/right/left arrows: pan using keyboard

Minimum working example to display a numpy array.

import numpy as np
import scipy.signal

from easyqc.gui import viewseis

ntr, ns, sr, dx, v1 = (500, 2000, 0.002, 5, 2000)
data = np.zeros((ntr, ns), np.float32)
data[:, 500:600] = scipy.signal.ricker(100, 4)

# create a record with 400 traces and 2500 samples
noise = np.random.randn(ntr, ns) / 10
# create an arbitrary layout of 2 receiver lines of 200 sensors
a, b = np.meshgrid(np.arange(ntr / 2) * 8 + 2000, np.arange(2) * 50 + 5000)
# the header is a dictionary of numpy arrays, each entry being the same length as the number of traces
header = {'receiver_line': b.flatten(), 'receiver_number': a.flatten()}

# show the array with the header
fig0 = viewseis(data, si=.002, h=header, title='clean')
fig1 = viewseis(data + noise, si=.002, h=header, title='noisy')

Install Instructions

1) From pypi using pip:

pip install easyqc

2) From sources using pip:

I suggest to use a virtual environment and install in development mode (in-place)

git clone https://github.com/oliche/easyqc.git
cd easyqc
pip install -e .

3) From sources using uv

I suggest to install a new uvenvironment and run from sources in development mode.

Installation

git clone https://github.com/oliche/easyqc.git
uv python install 3.13
uv venv --python 3.13
uv pip install -e .

Contribution

pdm is used to manage the dependencies and the virtual environment. pip install pdm to install it.

Pypi Release checklist

  • Update version in pyproject.toml
  • Linting:
    • ruff check .
    • ruff format .
  • publish on pypi:
rm -fR dist
rm -fR .pdm-build
pdm publish
  • tag the commit
git tag -a 1.0.0
git push origin 1.0.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

easyqc-1.3.0.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

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

easyqc-1.3.0-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file easyqc-1.3.0.tar.gz.

File metadata

  • Download URL: easyqc-1.3.0.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.26.6 CPython/3.11.10 Linux/6.8.0-49-generic

File hashes

Hashes for easyqc-1.3.0.tar.gz
Algorithm Hash digest
SHA256 e67fed040807bd5e3ec8a5ef359ed27c598ce56b3f83ffeffff62a30b166aebe
MD5 d2abfd66702b5cb01d7fad7be4861627
BLAKE2b-256 53eb6f4439710c4b04413b7bd93725d994d94898acfc4860ba271422a87f4862

See more details on using hashes here.

File details

Details for the file easyqc-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: easyqc-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.26.6 CPython/3.11.10 Linux/6.8.0-49-generic

File hashes

Hashes for easyqc-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc7c5536f83d326fb81c40fb2619b1855d566cbfe6d7de27b61aa5f4bd8bc65e
MD5 9e6fb1c2726edfbedffdd2160072e241
BLAKE2b-256 94aa0ac3494aa853c680b67694fa2649eb716160ce29cccd3c1c28c8b45cd4d0

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