NAME
princomp - noise analysis/reduction using principal com-
ponents
SYNOPSIS
princomp [ -Nntap ] [ -Ootap ] [ -Ssfile ] [ -nsnstr ] [
-nenetr ] [ -rsnrst ] [ -renred ] [ -ibibiggest ] [ -irirec
] [ -epctoteng ] [ -kdkodepc ] [ -I ] [ -V ] [ -? ]
DESCRIPTION
princomp decomposes seismic data (pre- or post stack) into
eigenvalues and eigenvectors in an analogous manner to
Fourier spectra. The eigenvectors are in some way related
to the dip components in the data and the eigenvalues
represent the strengths of these components. The aim here
is to represent the data with as few eigenvalues as possible
and in such a way as to enhance the desired features in the
data (e.g. reducing random noise; enhancing flat dip). As an
analysis tools an option is provided to output the % energy
reconstruction as a function of the numbers of eigenvalues
which can then be plotted using xgraph.
The two basic methods of filtering using this program are:
1) by choosing either the first N largest eigenvalues which
will describe the major features of the data, or by specify-
ing that the eigen-reconstruction of the data reach some %
of the original energy in the input data (another way of
taking the most important eigenvectors), or
2) by specifying a code which will exclude (or include)
specific eigenvectors from the reconstruction. Here you
have to tediously experiment until you get the code you want
but sometimes this can be rewarding by finding a combination
that enhances just the right features in the data.
When applying princomp to pre-stack data it is a good idea
to try to flatten some series of events (e.g. either pri-
maries or multiples). This is especially true if the events
you are going to flatten are relatively strong in amplitude.
In this situation the first few eigenvalues will be enough
to adequately describe the flat portion of the record.
princomp gets both its data and its parameters from command
line arguments. These arguments specify the input, output,
the start and end traces, the start and end records, and the
filtering methods. Only the data between the trace and
record limits will be processed; the rest of the data will
be passed through unchanged. Several different princomp
runs each with different parameters and with mutually
exclusive trace and record limits can be piped together to
effect a "spatial" princomp.
Command line arguments
-N ntap
Enter the input data set name or file immediately after
typing -N unless the input is from a pipe in which case
the -N entry must be omitted. This input file should
include the complete path name if the file resides in a
different directory. Example -N/b/vsp/dummy tells the
program to look for file 'dummy' in directory '/b/vsp'.
-O otap
Enter the output data set name or file immediately
after typing -O. This output file is not required when
piping the output to another process. The output data
set also requires the full path name (see above).
-S sfile
Enter the file name for the number of eiegenvalues vs %
energy reconstruction which can then be displayed using
xgraph: xgraph < [file name]
-ns nstr
Enter the start process trace number. The default is
the first trace of the record.
-ne netr
Enter the end process trace number. The default is the
last trace of the record. Note: data outside the limits
-ns, -ne will be passed unchanged.
-rs nrst
Enter start process record number. Default value is
the first record.
-re nred
Enter end process record number. Default value is last
record. Note: data outside the limits -rs, -re will be
passed unchanged.
-ib ibiggest
Enter the number of largest eigenvalues upon which to
reconstruct. This can sometimes be determined from
plotting the -S[] file results using xgraph. By
observing the point at which the curve flattens one is
able to determine the number of eigenvalues required to
accurately reconstruct most sensible data features.
For instance if the file name is sout then the command
line to plot is
xgraph < sout
-epc toteng
Enter % energy reconstruction (the actual number of
eiegnvalues will be determined internally). Default =
100
-kd kodepc
Enter binary code describing the actual eigenvalues to
be excluded/included from the reconstruction. For
those not familiar with binary code representation here
are some examples: for the 1st principal component use
-kd2 (2**1); the 2nd component use -kd4 (2**2); 3rd use
-kd8 (2**3); exclude 1st and 2nd use -kd6 (2**2 +
2**1); 1st, 2nd, and 3rd use -kd14 (2**3 + 2**2 +
2**1). As you can see the order of the component to be
excluded is actually the exponent of a power of 2
number. You can get the rest by extrapolation. See -I
option below.
-ir irec
Enter the record interval for churning out diagnostics
including the xgraph file
-norm
Enter the command line argument '-norm' to normalize
traces according to their average absolute amplitude
before processing. After processing the scaling is
undone. Note: scale calculation is done using whole
trace
-rms Enter the command line argument '-rms' to normalize
traces according to their average rms amplitude before
processing. After processing the scaling is indone.
Note: scale calculation is done using whole trace
-I Enter the command line argument '-I' to include princi-
pal components specified by the -kd[] entry above; oth-
erwise these principal components will be excluded.
-V Enter the command line argument '-V' to get additional
printout.
-? Enter the command line argument '-?' to get online
help. The program terminates after the help screen is
printed.
BUGS
unknown
AUTHOR
Original code by Bill Done; stripped down version by Paul
Gutowski
COPYRIGHT
copyright 2001, Amoco Production Company
All Rights Reserved
an affiliate of BP America Inc.
Man(1) output converted with
man2html