Skip to main content

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

Metadata

Release files for easyqc 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for easyqc 1.3.0
File Size Uploaded Provenance Actions
easyqc-1.3.0.tar.gz 19.5 kB Without provenance Details for easyqc-1.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for easyqc 1.3.0
File Interpreter ABI Platform Actions
easyqc-1.3.0-py3-none-any.whl Python 3 none any Details for easyqc-1.3.0-py3-none-any.whl

Total release size: 41.1 kB

Release files / easyqc-1.3.0.tar.gz

Download URL easyqc-1.3.0.tar.gz
Size 19.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e67fed040807bd5e3ec8a5ef359ed27c598ce56b3f83ffeffff62a30b166aebe
BLAKE2b-256 checksum
How to use checksums
53eb6f4439710c4b04413b7bd93725d994d94898acfc4860ba271422a87f4862
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.26.6 CPython/3.11.10 Linux/6.8.0-49-generic

Release files / easyqc-1.3.0-py3-none-any.whl

Download URL easyqc-1.3.0-py3-none-any.whl
Size 21.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc7c5536f83d326fb81c40fb2619b1855d566cbfe6d7de27b61aa5f4bd8bc65e
BLAKE2b-256 checksum
How to use checksums
94aa0ac3494aa853c680b67694fa2649eb716160ce29cccd3c1c28c8b45cd4d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.26.6 CPython/3.11.10 Linux/6.8.0-49-generic

Security for easyqc 1.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page