import numpy as np
import pysegy as seg
from pysegy import plot_sdata, plot_simage, plot_velocity, plot_fslice, compare_shots, wiggle_plot
import matplotlib.pyplot as plt
Plotting utilities example
= seg.segy_read('../data/overthrust_2D_shot_1_20.segy')
block = block.data
data = block.fileheader.bfh.dt / 1e6
dt = 50.0 dx
Reading SEGY file ../data/overthrust_2D_shot_1_20.segy
Loaded header ns=751 dt=4000 from ../data/overthrust_2D_shot_1_20.segy
= plot_sdata(block, cbar=True, name='Shot from block')
_ plt.show()
= seg.segy_scan('../data', file_key='overthrust_2D_shot_1_20.segy')
scan = scan[0]
shot
plot_sdata(shot) plt.show()
Scanning 1 files in ../data with 5 threads
ThreadPoolExecutor-7_0 scanning file ../data/overthrust_2D_shot_1_20.segy
Header for ../data/overthrust_2D_shot_1_20.segy: ns=751 dt=4000
ThreadPoolExecutor-7_0 found 20 shots in ../data/overthrust_2D_shot_1_20.segy
Combined scan has 20 shots
= plot_sdata(data[:, :200], (dt, dx), cbar=True, name='Shot record')
_ plt.show()
200], data[:, :200], (dt, dx), chunksize=10)
compare_shots(data[:, : plt.show()
5, :100], np.arange(0, 100*dx, dx), np.arange(0, data.shape[0]*dt, dt)[::5])
wiggle_plot(data[:: plt.show()
= np.outer(np.linspace(1500, 3500, data.shape[0]), np.ones(200))
vel 10.0, dx))
plot_velocity(vel, ( plt.show()
assert data.shape[0] == block.fileheader.bfh.ns
assert shot.data.shape[1] == scan.counts[0]