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)
  • 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 anaconda

I suggest to install a conda environment and run from sources in development mode.

Installation

git clone https://github.com/oliche/easyqc.git
conda env create -f conda_easyqc.yaml
conda activate iblenv
conda develop ./easyqc

Update

conda env update --file conda_easyqc.yaml --prune

Or for a complete clean-up:

conda env list
conda env remove -n easyqc

And follow the install instructions above.

Contribution

Pypi Release checklist:

flake8
rm -fR dist
rm -fR build
python setup.py sdist bdist_wheel
twine upload dist/*
#twine upload --repository-url https://test.pypi.org/legacy/ dist/*

Test wheel:

virtualenv easyqc --python=3.8
source ./easyqc/bin/activate
pip install easyqc
#pip install -i https://test.pypi.org/simple/ easyqc  # doesnt' seem to install deps

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for easyqc, version 0.4.1
Filename, size File type Python version Upload date Hashes
Filename, size easyqc-0.4.1-py3-none-any.whl (14.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size easyqc-0.4.1.tar.gz (14.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page