SeisMakie

Documentation for SeisMakie.

SeisMakie.seisDifferenceMethod
SeisDifference(d1, d2; <keyword arguments>)

Plot time-space, 2D seismic data d1, d2, and their difference (d1 - d2) with color, wiggles or overlay. The plots are arranged horizontally by default.

Arguments:

  • d1::Matrix{<:AbstractFloat}: the measured seismic traces. Number of columns corresponds to number of traces whereas number of rows corresponds to the number of times amplitude was measured for each trace
  • d2::Matrix{<:AbstractFloat}: same description as d1.

Keyword Arguments:

  • fig=nothing: the figure we want to plot on. If not supplied, one will be created and returned.

  • gx::Vector{<:Real}=nothing: the real coordinates of the seismometers corresponding to the traces in d

  • ox=0: first point of x-axis.

  • dx=1: increment of x-axis.

  • oy=0: first point of y-axis.

  • dy=1: increment of y-axis.

  • pclip=98: percentile for determining clip.

  • vmin=nothing: minimum value used in colormapping data.

  • vmax=nothing: maximum value used in colormapping data.

  • wiggle_fill_color=:black: color for filling the positive wiggles.

  • wiggle_line_color=:black: color for wiggles' lines.

  • wiggle_trace_increment=1: increment for wiggle traces.

  • xcur=1.2: wiggle excursion in traces corresponding to clip.

  • cmap=:viridis: the colormap to be used for color and overlay plots.

  • style: determines the type of plot. Can be either "wiggle"/"wiggles", "color", "overlay".

  • horizontal=true: if set to false, d1, d2, and their difference are arranged vertically.

Return the figure and 3 axes corresponding to d1, d2, d1-d2.

Example

julia> d1 = SeisLinearEvents(); d2 = SeisLinearEvents();
julia> f, ax1, ax2, ax_diff = SeisDifference(d1, d2);

Author: Firas Al Chalabi (2024)

source
SeisMakie.seisPlotAmplitudeMethod
SeisPlotAmplitude(d,fmax,dy ; <keyword arguments>)

Plot amplitude-frequency 2D seismic data d

Arguments

  • d::Array{Real,2}: 2D data to plot.

Keyword arguments

  • fig=nothing: the figure we want to plot on. If not supplied, one will be created and returned.

  • ax=nothing: the axis we want to plot on. If not supplied, one will be created and returned.

  • fmax=100: maximum frequency.

  • dy=0.004: time sample interval.

  • normalize=false: whether or not to normalize the data

  • color=:red: color of the plot.

  • label="": plot label to be included in legend

Example

julia> d = SeisLinearEvents();
julia> f, ax = SeisPlotAmplitude(d,100,0.004);

Author: Firas Al Chalabi (2024)

source
SeisMakie.seisPlotFKMethod
SeisPlotFK(d; <keyword arguments>)

Plot frequency-wavenumber 2D seismic data d.

Arguments

  • d::Matrix{<:AbstractFloat}: 2D data to plot.

Keyword arguments:

  • fig=nothing: the figure we want to plot on. If not supplied, one will be created and returned.

  • pclip=99.9: percentile for determining clip.

  • vmin=nothing: minimum value used in colormapping data.

  • vmax=nothing: maximum value used in colormapping data.

  • fmax=100: maximum frequency for "FK" or "Amplitude" plot.

  • dx=1: increment of x-axis.

  • dy=1: increment of y-axis.

  • cmap=:PuOr: colormap

Return the figure and axis corresponding to d.

Example

julia> d = SeisLinearEvents(); 
julia> f, ax = SeisPlotFK(d);

Author: Firas Al Chalabi (2024)

source
SeisMakie.seisPlotTXMethod
SeisPlotTX(d; <keyword arguments>)

Plot time-space, 2D seismic data d with image, wiggles or overlay.

Arguments:

  • d::Matrix{<:AbstractFloat}: the measured seismic traces. Number of columns corresponds to number of traces whereas number of rows corresponds to the number of times amplitude was measured for each trace

Keyword Arguments:

  • fig=nothing: the figure we want to plot on. If not supplied, one will be created and returned.

  • gx::Vector{<:Real}=nothing: the real coordinates of the seismometers corresponding to the traces in d. Only supported with style="wiggles"

  • ox=0: first point of x-axis.

  • dx=1: increment of x-axis.

  • oy=0: first point of y-axis.

  • dy=1: increment of y-axis.

  • pclip=98: percentile for determining clip.

  • vmin=nothing: minimum value used in colormapping data.

  • vmax=nothing: maximum value used in colormapping data.

  • wiggle_fill_color=:black: color for filling the positive wiggles.

  • wiggle_line_color=:black: color for wiggles' lines.

  • wiggle_trace_increment=1: increment for wiggle traces.

  • xcur=1.2: wiggle excursion in traces corresponding to clip.

  • cmap=:seismic: the colormap to be used for image and overlay plots.

  • style: determines the type of plot. Can be either "wiggle"/"wiggles", "image", "overlay".

Return the figure and axis corresponding to d.

Example

julia> d = SeisLinearEvents();
julia> f, ax = SeisPlotTX(d);

Author: Firas Al Chalabi (2024)

source
SeisMakie.seisamplitudeplotMethod
seisamplitude(d; <keyword arguments>)
seisamplitude!(ax, d; <keyword arguments>)

Plot amplitude-frequency 2D seismic data d.

Arguments

  • d::Array{Real,2}: 2D data to plot.

Keyword arguments

  • fmax=100: maximum frequency.

  • dy=0.004: time sample interval.

  • normalize=false: whether or not to normalize the data

  • color=:black: color of the plot.

  • label="": plot label to be included in legend

Examples

julia> d = SeisLinearEvents();
julia> f, ax, amp = seisamplitude(d)
julia> d = SeisLinearEvents(); f = Figure(); ax = Axis(f)
julia> amp = seisamplitude!(ax, d)

Author: Firas Al Chalabi (2024) Credits: Aaron Stanton (2015)

  • Most of the code in this file is taken from SeisPlot.jl written by Aaron Stanton.
source
SeisMakie.seisfkplotMethod
seisfk(d; <keyword arguments>)
seisfk!(ax, d; <keyword arguments>)

Plot frequency-wavenumber 2D seismic data d.

Arguments

  • d::Matrix{<:AbstractFloat}: 2D data to plot.

Keyword arguments:

  • fig=nothing: the figure we want to plot on. If not supplied, one will be created and returned.

  • pclip=99.9: percentile for determining clip.

  • vmin=nothing: minimum value used in colormapping data.

  • vmax=nothing: maximum value used in colormapping data.

  • fmax=100: maximum frequency for "FK" or "Amplitude" plot.

  • dx=1: increment of x-axis.

  • dy=1: increment of y-axis.

  • cmap=:PuOr: colormap

Return the figure and axis corresponding to d.

Examples

julia> d = SeisLinearEvents();
julia> f, ax, fk = seisfk(d)
julia> d = SeisLinearEvents(); f = Figure(); ax = Axis(f)
julia> fk = seisfk!(ax, d)

Author: Firas Al Chalabi (2024) Credits: Aaron Stanton (2015)

  • Most of the code in this file is taken from SeisPlot.jl written by Aaron Stanton.
source
SeisMakie.seisimageplotMethod
seisimage(d; <keyword arguments>);
seisimage!(ax, d; <keyword arguments>);

Recipe to plot time-space, color plot of 2D seismic data d.

Arguments:

  • d::Matrix{<:AbstractFloat}: 2D seismic data to be plotted.

Keyword Arguments:

  • ox=0: first point of x-axis.

  • dx=1: increment of x-axis.

  • oy=0: first point of y-axis.

  • dy=1: increment of y-axis.

  • pclip=98: percentile for determining clip.

  • vmin=nothing: minimum value used in colormapping data.

  • vmax=nothing: maximum value used in colormapping data.

  • cmap=:seismic: the colormap to be used.

Examples

julia> d = SeisLinearEvents();
julia> f, ax, img = seisimage(d)
julia> d = SeisLinearEvents(); f = Figure(); ax = Axis(f)
julia> img = seisimage!(ax, d)

Author: Firas Al Chalabi (2024) Credits: Aaron Stanton (2015)

  • Most of the code in this file is taken from SeisPlot.jl written by Aaron Stanton.
source
SeisMakie.seisoverlayplotMethod
seisoverlay(d; <keyword arguments>)
seisoverlay!(ax, d; <keyword arguments>)

Recipe to plot time-space, overlay plot of 2D seismic data d.

Arguments:

  • d::Matrix{<:AbstractFloat}: 2D seismic data to be plotted.

Keyword Arguments:

  • ox=0: first point of x-axis.

  • dx=1: increment of x-axis.

  • oy=0: first point of y-axis.

  • dy=1: increment of y-axis.

  • pclip=98: percentile for determining clip.

  • vmin=nothing: minimum value used in colormapping data.

  • vmax=nothing: maximum value used in colormapping data.

  • wiggle_fill_color=:black: color for filling the positive wiggles.

  • wiggle_line_color=:black: color for wiggles' lines.

  • wiggle_trace_increment=1: increment for wiggle traces.

  • xcur=1.2: wiggle excursion in traces corresponding to clip.

  • cmap=:seismic: the colormap to be used.

Examples

julia> d = SeisLinearEvents();
julia> f, ax, ov = seisoverlay(d)
julia> d = SeisLinearEvents(); f = Figure(); ax = Axis(f)
julia> ov = seisoverlay!(ax, d)
source
SeisMakie.seiswiggleplotMethod
seiswiggle(d; <keyword arguments>)
seiswiggle!(ax, d; <keyword arguments>)

Recipe to plot time-space, wiggle plot of 2D seismic data d.

Arguments:

  • d::Matrix{<:AbstractFloat}: the measured seismic traces. Number of columns corresponds to number of traces whereas number of rows corresponds to the number of times amplitude was measured for each trace

Keyword Arguments:

  • gx::Vector{<:Real}=nothing: the real coordinates of the seismometers corresponding to the traces in d

  • ox=0: first point of x-axis.

  • dx=1: increment of x-axis.

  • oy=0: first point of y-axis.

  • dy=1: increment of y-axis.

  • wiggle_fill_color=:black: color for filling the positive wiggles.

  • wiggle_line_color=:black: color for wiggles' lines.

  • wiggle_trace_increment=1: increment for wiggle traces.

  • xcur=1.2: wiggle excursion in traces.

Examples

julia> d = SeisLinearEvents();
julia> f, ax, wp = seiswiggle(d)
julia> d = SeisLinearEvents(); f = Figure(); ax = Axis(f)
julia> wp = seiswiggle!(ax, d)

Author: Firas Al Chalabi (2024) Credits: Aaron Stanton (2015)

  • The code in this file was inspired by some of Aaron Stanton's in SeisPlot.jl.
source