Signal and Event Analysis#
In this part we show basic analysis of the DAS waveforms.
Phase Following#
Follow a coherent phase through a DAS section.
We can laverage the spatial coherency of a DAS data set and follow the onset of a phase through iterative cross-correlation of neighboring traces. The principle workflow is:
Get windowed root pick template.
Calculate normalized cross correlate with downwards neighbor.
Evaluate maximum cross-correlation in allowed window (
max_shift
).Update template trace and go to 2.
Repeat for upward neighbors.
%config InlineBackend.figure_format = 'jpg'
import matplotlib.pyplot as plt
from datetime import timedelta
from lightguide.client import ExampleData
# This will download example data
blast = ExampleData.vsp_shot()
# Pre-Processing
blast = blast.trim_channels(begin=120, end=550)
blast = blast.trim_time(begin=1.5, end=2.5)
blast.lowpass(70.0)
blast.afk_filter()
pick_time = blast.start_time + timedelta(seconds=0.573)
pick_channel = 350
# Follow the phase from initial pick
pick_channels, pick_times, pick_correlation = blast.follow_phase(
pick_time,
pick_channel,
window_size=10,
max_shift=100,
threshold=1e-2
)
fig = plt.figure(figsize=(12, 6))
ax = fig.gca()
blast.plot(axes=ax, cmap="binary", show_date=True)
ax.scatter(pick_channels, pick_times, s=4, c="fuchsia", alpha=0.6)
# Plot initial pick
ax.scatter(pick_channel, pick_time, marker="x", c="limegreen");
