Chapter5
GeneralOperationsonSUData
BeyondthetaskofeditingSUdataareoperationslevelcodeswhichperform
• gaining,
• resampling,
• unaryoperations(arithmeticoperationsinvolvingasingledatafile),
• binaryoperations(arithmeticoperationsinvolvingtwodatafiles),
Thepurposeofthissection,thereforewillbetodiscusstheprograms
• SUADDNOISE-addnoisetotraces,
• SUGAIN-applyvarioustypesofgaintodisplaytraces,
• SUOP-dounaryarithmeticoperationonsegys,
• SUOP2-doabinaryoperationontwodatasets,
thatperformtheseoperations
5.0.7 SUADDNOISE-AddnoisetoSUdata
While it mayseemthat havingaprogramthat adds noise toseismicdatais counterproductive,it is
oftenusefulfortestingpurposestohavethecapabilityofsimulatingnoise.
It is alsousefulfordemonstrationpurposes,andmanyof thedemos belowusesuaddnoiseto“fill
intheblanks”inthesuplanetestpattern. Acoupleofexamplesoftheoutputofthis s program,using
suplanedata
% suplane | suxwigb title="no noise" &
% suplane | suaddnoise | suxwigb title="noise added" &
% suplane | suaddnoise sn=2 | suxwigb title="noise added" &
5.0.8 SUGAIN - Gaining to SU data
There are numerous operations which come under the heading of gaining, which “sugain” performs.
These operations include
• scaling the data,
• multiplying the data by a power of time,
• taking the power of the data,
59
Delete page numbers in pdf - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete pages from pdf file online; delete page on pdf document
Delete page numbers in pdf - VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Visual Basic Sample Codes to Delete PDF Document Page in .NET
delete blank pages from pdf file; delete pages of pdf preview
60
CHAPTER 5. GENERAL OPERATIONS ON SU DATA
• automatic gain control,
• trapping noise spiked traces,
• clipping specified amplitudes or quantiles,
• balancing traces by quantile clip, rms value, or mean,
• scaling the data,
• biasing or debiasing the data.
The heirarchy of the operations is stated by the following equation
out(t) = scale * BAL{CLIP[AGC{[t^tpow * exp(epow * t) * ( in(t)-bias )]^gpow}]}
You may see what sugain does by running the following examples using suplane data. Noise has
been added with “suaddnoise” to make the affects of AGC apparent. Type only the items following the
percent %. Create some SU data (with noise added, via)
% suplane | suaddnoise > data.su
% suxwigb < data.su title="Ungained Data" &
% sugain < data.su scale=5.0 | suxwigb title="Scaled data" &
% sugain < data.su agc=1 wagc=.01 | suxwigb title="AGC=1 WAGC=.01 sec &
% sugain < data.su agc=1 wagc=.2 | suxwigb title="AGC=1 WAGC=.1 sec &
% sugain < data.su pbal=1 | suxwigb title="traces balanced by rms" &
% sugain < data.su qbal=1 | suxwigb title="traces balanced by quantile" &
% sugain < data.su mbal=1 | suxwigb title="traces balanced by mean" &
% sugain < data.su tpow=2 | suxwigb title="t squared factor applied" &
% sugain < data.su tpow=.5 | suxwigb title="square root t factor applied" &
Please note, on your terminal window, there will be a message with “clip=” some number, for example:
xwigb: clip=1
This indicates the amplitude value above which traces are clipped. You may think of this as the value
of the maximum on the trace.
5.0.9 SUOP - Unary Arithmetic Operations on SU Data
Occassionally we want to apply mathematical functions or other operations which go beyond gaining to
data. Such operations might include
• absolute value,
• signed square root,
• square,
• signed square,
• signum function,
• exponential,
• natural logarithm,
• signed common logarithm,
• cosine,
C# Create PDF Library SDK to convert PDF from other file formats
can not only allow developers to generate standard PDF document file but also offer them the ability to count the page numbers of generated PDF document by
delete blank page in pdf online; delete page numbers in pdf
C# Word - Word Create or Build in C#.NET
not only allow developers to generate standard Word document file but also offer them the ability to count the page numbers of generated Create Word From PDF.
cut pages from pdf file; delete pages pdf file
61
• sine,
• tangent,
• hyperbolic cosine,
• hyperbolic sine,
• hyperbolic tangent,
• divide trace by Max. Value,
• express trace values in decibels: 20 * slog10 (data)
• negate values,
• pass only positive values,
• pass only negative values.
Operations involving logarithms are “punctuated” meaning that if the contains 0 values, 0 values are
returned.
Examples of suop using SU plane data may be easily run
% suplane | suaddnoise > data.su
% suop < data.su op=abs | suxwigb title="absolute value" &
% suop < data.su op=ssqrt | suxwigb title="signed square root" &
% suop < data.su op=sqr | suxwigb title="signed square" &
...
Please type:
% suop
to see the selfdoc and the other options.
5.0.10 SUOP2 - Binary Operations with SU data
To perform operationstwo SU datasets, the progam “suop2” hasbeen provided. Some of the opperations
supported are to compute the
• difference,
• sum,
• product,
• quotient,
• difference of a panel and a single trace,
• sum of a panel and a single trace,
• product of a panel and a single trace,
• quotient of a panel and a single trace.
The first 4 options assume that there are the same number of traces in each SU datafile. In the last 4,
it is assumed that there is only a single trace in the second file.
From the selfdoc of “suop2” please note that there are 8 equivalent shell scripts commands which
perform these operations
C# PowerPoint - PowerPoint Creating in C#.NET
toolkit can not only allow developers to generate standard PowerPoint document file but also offer them the ability to count the page numbers of generated
delete page pdf file reader; delete page pdf
C# Word - Word Creating in C#.NET
control toolkit can not only allow developers to generate standard Word document file but also offer them the ability to count the page numbers of generated
add or remove pages from pdf; add and delete pages from pdf
62
CHAPTER 5. GENERAL OPERATIONS ON SU DATA
...
susum file1 file2 == suop2 file1 file2 op=sum
sudiff file1 file2 == suop2 file1 file2 op=diff
suprod file1 file2 == suop2 file1 file2 op=prod
suquo file1 file2 == suop2 file1 file2 op=quo
For: panel "op" trace operations:
suptsum file1 file2 == suop2 file1 file2 op=ptsum
suptdiff file1 file2 == suop2 file1 file2 op=ptdiff
suptprod file1 file2 == suop2 file1 file2 op=ptprod
suptquo file1 file2 == suop2 file1 file2 op=ptquo
...
All of these call “suop2” to perform the computation.
Try the following. Make two files of SU data with “suplane”
% suplane > junk1.su
% suxwigb < junk1.su | suxwigb title="Data without noise" &
% suplane | suaddnoise > junk2.su
% suxwigb < junk2.su | suxwigb title="Data with noise added" &
% suop2 junk2.su junk1.su op=diff | suxwigb title="difference" &
Note, that the filenames must appear before the “op=.”
5.1 Transform and Filtering Operations
Amajor aspect of seismic research and seismic processing is related to operations which are based on
mathematical transform methods. In particular, much of seismic processing would not exist without
numerical Fourier transforms. Filtering is a related subject, because the majority of filters are applied
in the frequency domain, or are at least representable mathematically as frequency domain operations.
In additionto standard Fourier transforms, there are a couple of other transforms, such as the Hilbert
transform, and the Gabor transform which are also included in the SU package. These items may find
more use as educational tools, rather than processing tools.
5.1.1 Fourier Transform Operations
There are Fourier transform operations for both 1D and 2D applications in the SU package. The 1D
transformsprovide spectral (either amplitude or phase) information about eachtrace ina panelof seismic
data.
The 2D transforms include the seismic F-K variety, assuming that the fast dimension of the input
data is temporal, and the second dimension is spatial, and the non-seismic K1-K2 variety, in which the
input is assumed to be purely spatial (x1,x2) data.
5.1.2 1D Fourier Transforms
• SUFFT - fft real time traces to complex frequency traces
• SUIFFT - fft complex frequency traces to real time traces
• SUAMP - output amp, phase, real or imag trace from (frequency, x)
• SUSPECFX - Fourier SPECtrum (T to F) of traces domain data
VB.NET TIFF: VB.NET Sample Codes to Sort TIFF File with .NET
can start editing & manipulating multi-page TIFF (Tagged Image File), PDF, Microsoft Office Easy to sort a multi-page TIFF file with page numbers using VB.NET
delete pdf pages acrobat; delete page in pdf document
C# Excel - Excel Creating in C#.NET
control toolkit can not only allow developers to generate standard Excel document file but also offer them the ability to count the page numbers of generated
add and remove pages from pdf file online; delete pages from pdf online
5.1. TRANSFORM AND FILTERING OPERATIONS
63
The program “sufft” produces the output of the Fourier transform operationas a complex data type.
The program “suifft” is designed to accept complex input as would be generated by sufft to perform the
inverse Fourier transform. The cascade of these operations is not quite an non-operation, because there
is zeropadding which is automatically implemented for the transforms. Also, the header fields will not
quite be right for seismic data. For example, try:
% suplane | suxwigb title="Original Data" &
% suplane | sufft | suifft | sushw key=d1,dt a=0,4000 | suxwigb &
The result is the same as the input, except there are more samples on the traces due to zero-padding
required for the transform.
To view the amplitude and phase spectra, and the real and imaginary parts of the of the output of
sufft, do the following
% suplane | sufft | suamp mode=amp | suxwigb title="amplitude" &
% suplane | sufft | suamp mode=phase | suxwigb title="phases" &
% suplane | sufft | suamp mode=real | suxwigb title="real" &
% suplane | sufft | suamp mode=imag | suxwigb title="imaginary" &
SU data has a format which allows for the storage of the real and imaginary parts of data in a complex
datatype. To see the header field settings for that format, type:
% suplane | sufft | surange
sufft: d1=3.571428
32 traces:
tracl=(1,32) tracr=(1,32) trid=11 offset=400 ns=72
dt=4000 d1=3.571428
You will notice that the setting for the trace id (trid) is 11. Typing:
% sukeyword trid
...
11 = Fourier transformed - unpacked Nyquist
xr[0],xi[0],...,xr[N/2],xi[N/2]
...
shows that trid=11 how the data are arranged in the output of the fft.
Of course, most of the time, we only want to have a quick look at the amplitude spectrum of a
seismic trace, or a panel of seismic traces. For these purposes use “suspecfx”
% suplane | suspecfx | suximage title="F-X Amplitude Spectrum" &
which directly displays the amplitude spectra of each trace of the input SU data.
5.1.3 2D Fourier Transforms
Seismic data are generally at least 2D datasets. If the data really are data in (time, space) coordinates,
then the output should be in (frequency, wavenumber), the F-K domain. However, there are applications
where we consider the data to be in two spatial dimensions (x1,x2) meaning that the output is in (k1,k2)
We have the programs
• SUSPECFK - F-K Fourier SPECtrum of data set
• SUSPECK1K2 - 2D (K1,K2) Fourier SPECtrum of (x1,x2) data set
For each of these cases. Examples using suplane data are easily run using
VB.NET Image: Guide to Convert Images to Stream with DocImage SDK
Follow this guiding page to learn how to easily convert a single image or numbers of it to provide powerful & profession imaging controls, PDF document, tiff
delete pages pdf; reader extract pages from pdf
C# Excel: Create and Draw Linear and 2D Barcodes on Excel Page
and you can also load document like PDF, TIFF, Word and PPT XLSXDocument doc = new XLSXDocument(@"c:\sample.xlsx"); // get the first page BasePage page = doc
cut pages from pdf preview; delete pages pdf files
64
CHAPTER 5. GENERAL OPERATIONS ON SU DATA
% suplane | suspecfk | suximage title="F-K Amplitude Spectrum" &
% suplane | suspeck1k2 | suximage title="K1-K2 Amplitude Spectrum" &
Please note, as these are display programs, so the intent is that plotsof the output should appear correct
when compared with a plot of the original data. The effect of the 2D Fourier transform on a line of
spikes is to produce a line of spikes normal to the original line, if the (k1,k2) data are plotted on the
same plot as the (x1,x2) data,
5.2 Hilbert Transform, Trace Attributes, and Time-Frequency
Domain
Anumber of classical techniques for representing instantaneous trace attributes have been created over
the years. Many of these techniques involve the construction of a quadrature trace to be used as the
imaginary part of a “complex trace” (with the real part, being the real data). The quadrature trace
is created with the Hilbert transform following the construction of the so-called “allied function.” This
representation permits “instantaneous amplitude, phase, and frequency” information to be generated
for a dataset, by taking the modulus, phase, and time derivative of the phase, respectively. An alternate
approach is to perform multi-filter analysis on data, to represent it as a function of both time and
frequency.
Tools in SU which perform these operations are
• SUHILB - Hilbert transform
• SUATTRIBUTES - trace ATTRIBUTES instantanteous amplitude, phase, or frequency
• SUGABOR -Outputs a time-frequency representationof seismic data via the Gabor transform-like
multifilter analysis,
To generate the Hilbert transform of a test dataset, try
% suplane | suhilb | suxwigb title="Hilbert Transform" &
This program is useful for instructional and testing purposes.
To see an example of “trace attributes” with “suattributes” it is necessary to make data which has
astrong time-frequency variability. This is done here with “suvibro” which makes a synthetic vibroseis
sweep. Compare the following:
% suvibro | suxgraph title="Vibroseis sweep" &
% suvibro | suattributes mode=amp | suxgraph title="Inst. amplitude" &
% suvibro | suattributes mode=phase unwrap=1.0 | suxgraph title="Inst. phase" &
% suvibro | suattributes mode=freq | suxgraph title="Inst. frequency" &
which show, respectively, instantaneous amplitude, phase, and frequency.
To see the synthetic vibroseis trace in the time-frequency domain, try the following:
% suvibro | sugabor | suximage title="time frequency plot" &
The result is an image which shows the instantaneous or apparent frequency increasing from 10hz to
60hz, with time, exactly as stated by the default parameters of “suvibro.”
See the demosin$CWPROOT/src/demos/Time
Freq
Analysisand$CWPROOT/src/demos/Filtering/Sugabor
for further information.
C#: Use XImage.OCR to Recognize MICR E-13B, OCR-A, OCR-B Fonts
Extract Text from Scanned PDF. Extract Text from and get check characters like numbers and codes bmp = new Bitmap(inputFilePath); OCRPage page = OCRHandler.Import
delete pages from pdf file online; delete pages on pdf
C# Word: How to Use C# Code to Print Word Document for .NET
at one paper, setting the page copy numbers to be C# Class Code to Print Certain Page(s) of provide powerful & profession imaging controls, PDF document, image
delete blank page from pdf; delete page in pdf online
5.3. RADON TRANSFORM - TAU
PFILTERING
65
5.3 Radon Transform - Tau
PFiltering
The Radon or “tau-p” transform, as it is sometimes called in geophysical literature is useful for a variety
of multiple suppression, and other “surgical” data manipulation tasks. The programs
• SUTAUP - forwared and inverse T-X and F-K global slant stacks
• SUHARLAN - signal-noise separation by the invertible linear transformation method of Harlan,
1984
• SURADON - compute forward or reverse Radon transform or remove multiples by using the
parabolic Radon transform to estimate multiples and subtract.
• SUINTERP - interpolate traces using automatic event picking
are provided to make use of this transform. You may tests using suplane data as we have with other
programs to see the output from each of these codes. Both “suinterp” and “suradon” have some sophis-
ticated options which my require some experimentation.
See also the demos in $CWPROOT/src/demos/Tau
Pfor examples.
5.4 1D Filtering Operations
A large part of what is called seismic processing, may be thought of as being “filtering.” There are
filtering operations for 1D applications in the SU package that span simple filtering tasks, to more
sophisticated tasks including deconvolution and wavelet shaping operations. These operations are 1D,
in that they are applied trace by trace.
Several types of filtering operations that arise in seismic processing are
• zero bandpass, bandreject, lowpass, and highpass , and notch filtering,
• minimum or zero phase Butterworth filtering,
• Wiener prediction error (deconvolution),
• Wiener wavelets shaping,
• convolution,
• crosscorrelation,
• autocorrelation,
• data resampling with sinc interpolation,
• fractional derivatives/integrals,
• median filtering,
• time varying filtering.
The programs that are provided to meet these needs are:
• SUFILTER - applies a zero-phase, sine-squared tapered filter
• SUBFILT - apply Butterworth bandpass filter
• SUACOR - auto-correlation
• SUCONV, SUXCOR - convolution, correlation with a user-supplied filter
• SUPEF - Wiener predictive error filtering
• SUSHAPE - Wiener shaping filter
• SURESAMP - Resample in time,
66
CHAPTER 5. GENERAL OPERATIONS ON SU DATA
• SUFRAC – take general (fractional) time derivative or integral of data, plus a phase shift. Input
is TIME DOMAIN data.
• SUMEDIAN - MEDIAN filter about a user-defined polygonal curve with the distance along the
curve specified by key header word
• SUTVBAND - time-variant bandpass filter (sine-squared taper)
5.4.1 SUFILTER - applies a zero-phase, sine-squared tapered filter
The program sufilter provides a general purpose zero-phase filtering capability for the usual tasks of
bandpass, bandreject, lowpass, highpass, and notch filtering. Examples of each of these using sufilter
data are provided
% suplane | sufilter f=10,20,30,60 amps=0,1,1,0 | suxwigb title="10,20,30,60 hz bandpass" &
% suplane | sufilter f=10,20,30,60 amps=1,0,0,1 | suxwigb title="10,20,30,60 hz bandreject" &
% suplane | sufilter f=10,20,30,60 amps=1,1,0,0 | suxwigb title="10,20 hz lowpass" &
% suplane | sufilter f=50,60,70 amps=1,0,1 | suxwigb title="60 hz notch" &
The filter is polygonal, with the corners of the polygon defined by the vector of frequency values
defined by array of f= values, and a collection of amplitude values, defined by the array of amps=
values. The amplitudes may be any floating point numbers greater than, or equal to zero. The only
rule is that there must be the same number of amps values, as f values. The segments are sine-squared
tapered between f values of different amplitude. It is best to select bf f values such that tapering to zero
is done over an octave to prevent ringing.
With suplane, sufilter provides a way of easily generating bandlimited testpattern data in SU
format.
5.4.2 SUBFILT - apply Butterworth bandpass filter
An alternative to sufilter is subfilt, which applies a Butterworth filter to data.
% suplane | subfilt fstoplo=10 fpasslo=20 fpasshi=30 fstophi=60 | suxwigb title="10,20,30,60 hz bandpass
\subsection{SUACOR - auto-correlation}
This program is used to compute the autocorrelation of a trace.
This process is useful to see the size of a wavelet, or the repetitions
of the wavelet, as an aid in choosing the {\bf maxlag\/} parameter
of {\bf supef}. {\bf Suacor\/} is also useful for determining the
frequency range of data in terms of the power spectrum. For example
try
{\small \begin{verbatim}
% suplane | sufilter | suacor | suspecfx | suxwigb &
5.4. 1D FILTERING OPERATIONS
67
5.4.3 SUCONV, SUXCOR - convolution, correlation with a user-supplied
filter
The standard operations of convolution and cross correlation may be performed with suconv and sux-
cor, respectively. The filter may be suppliedasa vector input onthe commandline, or asa file containing
asingle trace in SU format. In addition to taking the input as a single trace, it is possible to supply a
panel of filters, each to be used trace by trace on a panel of SU data.
An example of correlating a vibroseis sweep may be seen by creating vibroseis-like data, with suvi-
bro, suplane and suconv. To make “vibroseis” suplane data
% suvibro > junk.vib.su
% suplane | suconv sufile=junk.vib.su > plane.vib.su
Because surange tells us that
% surange < junk.vib.su
1 traces:
tracl=1 ns=2500 dt=4000 sfs=10 sfe=60
slen=10000 styp=1
there are 2500 samples on the vibroseis sweep, we can do the following correlation
% suxcor < plane.vib.su sufile=junk.vib.su |
suwind itmin=2500 itmax=2563 | sushw key=delrt a=0.0 > data.su
(this line is broken to make it fit on the page here, the real
command is typed on a single line)
The value of itmin=sweeplength and itmax=sweeplength+nsout where nsout is the number of
samples expected in the output. The final step using sushw is to set the trace delay to 0. Choosing it-
min=sweeplengthwill ensure that thedatastart at the correct value. Choosingnsout=sweeplength-
nsin, where nsin is the number of samples in the input, will yield the correct number of samples to
keep.
5.4.4 SUPEF - Wiener predictive error filtering
The prediction error filtering method, also known as Wiener filtering, is the principle process of tradi-
tional Wiener-Levinson deconvolution. The reason that this subsection is not headed “deconvolution”
is because there are two additional issues that have to be addressed before prediction error filtering can
be used for effective deconvolution. These issues are preprocessing of the data, and postprocess filtering.
Indeed, much feedback has come back claiming that supef doesn’t work properly, when in fact, it simply
being used improperly. (This is our fault, for not supplying sufficient documentation.)
Using supef, itself, generally requires that the value of maxlag be set. This may be determined by
first establishing the size of the wavelet being spiked, through application suacor.
As the preprocessing step, you will probably need to use sugain to remove any decay in amplitudes
with time that may result from geometric spreading.
As a postprocessing step, you need to remove any increase in frequency content which has occurred
due to the whitening effect of the predictionerror filter. The demosin the demos/Deconvolutiondirectory
demonstrate the functioning of the program. However, these examples are a bit unrealistic for field data.
For example, in the demos, the data are spiked, and then reverberations are removed via a cascaded of
supef calls with maxlag=.04 and minlag=.05 maxlag=.16, respectively. However on field data, we
would probably only use a single pass of the filter to remove reverberations, or to spike arrivals.
The prediction error filter has a spectral whitening effect, which is likely to put high frequencies in
the data that were not there originally. These must be filtered out. It is a good idea to assume that
there is a loss of frequency information, and design the parameters for the postprocessing filtering, using
sufilter to slightly reduce the frequency content from its original values.
68
CHAPTER 5. GENERAL OPERATIONS ON SU DATA
Also, an added feature of the Release 32 version of supef is the mixing parameter, which permits
the user to apply a weighted moving average to the autocorrelations that are computed as part of the
prediction error filter computation. This can provide additional stability to the operation.
5.4.5 SUSHAPE - Wiener shaping filter
The demos in demos/Deconvolution also contain a demonstration of the Wiener shaping filter sushape.
2D Filtering Operations
Filtering in the (k1,k2) domain, and the (F,K) domain is often useful for changing dip information in
data. The programs
• SUKFILTER - radially symmetric K-domain, sin
ˆ
2-tapered, polygonal filter
• SUK1K2FILTER - symmetric box-like K-domain filter defined by the cartesian product of two
sin
ˆ
2-tapered polygonal filters defined in k1 and k2
• SUKFRAC - apply FRACtional powers of i—k— to data, with phase shift
• SUDIPFILT - DIP–or better–SLOPE Filter in f-k domain
provide the beginnings of a set of K-domain and F-K-domain filtering operations.
5.4.6 SURESAMP - Resample Data in Time
Often data need to be resampled to either reduce or increase the number of samples for processing or
data storage. For seismic data, the smart way of doing this is by the method of sinc interpolation. The
program “suresamp”
• SURESAMP - Resample in time
performs this operation.
See the demos in $CWPROOT/src/demos/Filtering for further information about filtering in SU.
Documents you may be interested
Documents you may be interested