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=0nt=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
keyminvalmaxval
note that windowing along the time axis is achieved by using the key "t".
Credits: AS, 2015