Utils
Seismic.jl provides tools to work with real data sets like binning, patching, unpatching, data sorting and windowing.
SeisGeometry
#
Seismic.SeisGeometry
— Function.
SeisGeometry(in;<keyword arguments>)
Update headers with geometry information. Offsets and azimuths are calculated from source and receivers coordinates.
Arguments
in
: input filename
Keyword arguments
ang=90
: inline direction measured in degrees CC from Eastgamma=1
: vp/vs ratio for PS Asymptotic Conversion Point gathers (use gamma=1 for PP data)osx=0
,osy=0
,ogx=0
,ogy=0
: origin for source and receiver coordinate systemomx=0
,omy=0
,ohx=0
,ohy=0
: origin for midpoint and offset coordinate systemoaz=0
,oh=0
: origin for azimuth and offset coordinate systemdsx=1
,dsy=1
,dgx=1
,dgy=1
: source and receiver step-sizedmx=1
,dmy=1
,dhx=1
,dhy=1
: midpoint and offset step-sizedh=1
,daz=1
: offset and azimuth step-size
Outputs
the .seish file is updated with the following information:
- hx,hy,h,az,mx,my : calculated offset, azimuth and midpoint
- isx,isy,igx,igy,imx,imy,ihx,ihy,ih,iaz: calculated grid nodes for source and receiver position and midpoint, offset and azimuth.
Credits: A. Stanton, 2017
SeisBinHeaders
#
Seismic.SeisBinHeaders
— Function.
SeisBinHeaders(in,out; <keyword arguments>)
Sequentially bin seismic headers using the available grid information.
Keyword arguments should be consistent with SeisGeometry keyword arguments.
Arguments
in
: filename of input, irregularly sampled dataout
: filename of output, regularly sampled data
Keyword arguments
style="sxsygxgy"
: bin style. Options: "mxmyhxhy","mxmyhaz","sxsyhxhy","gxgyhxhy","sxsyhaz","gxgyhaz"ang=90
: inline direction measured in degrees CC from Eastgamma=1
: vp/vs ratio for PS Asymptotic Conversion Point gathers (use gamma=1 for PP data)osx=0
,osy=0
,ogx=0
,ogy=0
: origin for source and receiver coordinate systemomx=0
,omy=0
,ohx=0
,ohy=0
: origin for midpoint and offset coordinate systemoaz=0
,oh=0
: origin for azimuth and offset coordinate systemdsx=1
,dsy=1
,dgx=1
,dgy=1
: source and receiver step-sizedmx=1
,dmy=1
,dhx=1
,dhy=1
: midpoint and offset step-sizedh=1
,daz=1
: offset and azimuth step-sizemin_isx=0
,max_isx=0
,min_isy=0
,max_isy=0
: grid extreme values for sourcesmin_igx=0
,max_igx=0
,min_igy=0
,max_igy=0
: grid extreme values for receiversmin_imx=0
,max_imx=0
,min_imy=0
,max_imy=0
: grid extreme values for midpointsmin_ihx=0
,max_ihx=0
,min_ihy=0
,max_ihy=0
: grid extreme values for offsetsmin_ih=0
,max_ih=0
,min_iaz=0
,max_iaz=0
: grid extreme values for azimuth and offsetntrace=10000
: maximum number of traces processed at a time
Output
In file out
, binned headers are created.
Credits: Aaron Stanton,2017
SeisBinData
#
Seismic.SeisBinData
— Function.
SeisBinData(in,out; <keyword arguments>)
Sequentially bin seismic data using already binned trace headers (SeisBinHeaders). Input arguments should be consistent with SeisBinHeaders input arguments.
Arguments
in::AbstractString
: filename of input, irregularly sampled dataout::AbstractString
: filename of output, regularly sampled data
Keyword arguments
style="sxsygxgy"
: bin style. Options: "mxmyhxhy","mxmyhaz","sxsyhxhy","gxgyhxhy","sxsyhaz","gxgyhaz"ang=90
: inline direction measured in degrees CC from Eastgamma=1
: vp/vs ratio for PS Asymptotic Conversion Point gathers (use gamma=1 for PP data)osx=0
,osy=0
,ogx=0
,ogy=0
: origin for source and receiver coordinate systemomx=0
,omy=0
,ohx=0
,ohy=0
: origin for midpoint and offset coordinate systemoaz=0
,oh=0
: origin for azimuth and offset coordinate systemdsx=1
,dsy=1
,dgx=1
,dgy=1
: source and receiver step-sizedmx=1
,dmy=1
,dhx=1
,dhy=1
: midpoint and offset step-sizedh=1
,daz=1
: offset and azimuth step-sizemin_isx=0
,max_isx=0
,min_isy=0
,max_isy=0
: grid extreme values for sourcesmin_igx=0
,max_igx=0
,min_igy=0
,max_igy=0
: grid extreme values for receiversmin_imx=0
,max_imx=0
,min_imy=0
,max_imy=0
: grid extreme values for midpointsmin_ihx=0
,max_ihx=0
,min_ihy=0
,max_ihy=0
: grid extreme values for offsetsmin_ih=0
,max_ih=0
,min_iaz=0
,max_iaz=0
: grid extreme values for azimuth and offsetntrace=10000
: maximum number of traces processed at a time
Output
In file out
, the binned data is created.
Credits: Aaron Stanton, 2017
SeisPatch
#
Seismic.SeisPatch
— Function.
SeisPatch(in::AbstractString,out::AbstractString;<keyword arguments>)
Creates overlapping 5d patches from a 5d volume
Arguments
in::AbstractString
: input filename (data should have grid information in headers)out::AbstractString
: prefix for output filenames
Keyword arguments
style="sxsygxgy"
: bin style. Options: "mxmyhxhy","mxmyhaz","sxsyhxhy","gxgyhxhy","sxsyhaz","gxgyhaz"min_isx=0
,max_isx=0
,min_isy=0
,max_isy=0
: grid extreme values for sourcesmin_igx=0
,max_igx=0
,min_igy=0
,max_igy=0
: grid extreme values for receiversmin_imx=0
,max_imx=0
,min_imy=0
,max_imy=0
: grid extreme values for midpointsmin_ihx=0
,max_ihx=0
,min_ihy=0
,max_ihy=0
: grid extreme values for offsetsmin_ih=0
,max_ih=0
,min_iaz=0
,max_iaz=0
: grid extreme values for azimuth and offsetit_WL=9e9
,it_WO=0
: length and overlapping samples in time patchesix1_WL=9e9
,ix1_WO=0
:length and overlapping samples in first space dimensionix2_WL=9e9
,ix2_WO=0
,ix3_WL=9e9
,ix3_WO=0
,ix4_WL=9e9
,ix4_WO=0
Output
filename,npatch
: AbstractString Array with the file name of the data patches, number of patches created
Credits: A. Stanton, F. Carozzi, 2017
SeisUnPatch
#
Seismic.SeisUnPatch
— Function.
SeisUnPatch(in,out;<keyword arguments>)
Reconstruct a 5D data volume from a set of 5D data patches.
Arguments
in::Array{AbstractString,1}
: array containing filename of patchesout::AbstractString
: filename for reconstructed volume
Keyword arguments
style="sxsygxgy"
: bin style. Options: "mxmyhxhy","mxmyhaz","sxsyhxhy","gxgyhxhy","sxsyhaz","gxgyhaz"min_isx=0
,max_isx=0
,min_isy=0
,max_isy=0
: grid extreme values for sourcesmin_igx=0
,max_igx=0
,min_igy=0
,max_igy=0
: grid extreme values for receiversmin_imx=0
,max_imx=0
,min_imy=0
,max_imy=0
: grid extreme values for midpointsmin_ihx=0
,max_ihx=0
,min_ihy=0
,max_ihy=0
: grid extreme values for offsetsmin_ih=0
,max_ih=0
,min_iaz=0
,max_iaz=0
: grid extreme values for azimuth and offsetit_WL=9e9
,it_WO=0
: length and overlapping samples in time patchesix1_WL=9e9
,ix1_WO=0
:length and overlapping samples in first space dimensionix2_WL=9e9
,ix2_WO=0
,ix3_WL=9e9
,ix3_WO=0
,ix4_WL=9e9
,ix4_WO=0
nt=0
: time samples of reconstructed cubeang=90
: inline direction measured in degrees CC from Eastgamma=1
: vp/vs ratio for PS Asymptotic Conversion Point gathers (use gamma=1 for PP data)osx=0
,osy=0
,ogx=0
,ogy=0
: origin for source and receiver coordinate systemomx=0
,omy=0
,ohx=0
,ohy=0
: origin for midpoint and offset coordinate systemoaz=0
,oh=0
: origin for azimuth and offset coordinate systemdsx=1
,dsy=1
,dgx=1
,dgy=1
: source and receiver step-sizedmx=1
,dmy=1
,dhx=1
,dhy=1
: midpoint and offset step-sizedh=1
,daz=1
: offset and azimuth step-size
Output
In file out
, the 5D reconstructed volume is created.
Credits: A. Stanton, F Carozzi, 2017
SeisSort
#
Seismic.SeisSort
— Function.
SeisSort(in, out;<keyword arguments>)
Sort a seis file using its header words
Arguments
in
: input filename >> a text file with information about data extent, data and header file names; a binary file containing data and a binary file containing headers.out
: output filename
Keyword arguments
key=["imx","imy"]
rev=false
: sort headers in decreasing orderntrace=1000
: number of traces to read at a time
Output
file out
is created with data sorted.
Credits: AS, 2015
SeisWindow
#
Seismic.SeisWindow
— Function.
SeisWindow(in,out;<keyword arguments>)
Window a seis file using header words.
Arguments
in::AbstractString
: filename of inputout::AbstractString
: filename of output
Keyword arguments
key
minval
maxval
note that windowing along the time axis is achieved by using the key "t".
Credits: AS, 2015