SYNOPSIS
PERL PROGRAM NAME:
AUTHOR:
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SUCWT - generates Continous Wavelet Transform amplitude, regularity
analysis in the wavelet basis
sucwt < stdin [Optional parameters ] > stdout
Required Parameters:
none
Optional Parameters:
base=10 Base value for wavelet transform scales
first=-1 First exponent value for wavelet transform scales
expinc=0.01 Exponent increment for wavelet transform scales
last=1.5 Last exponent value for wavelet transform scales
Wavelet Parameters:
wtype=0 2nd derivative of Gaussian (Mexican hat)
=1 4th derivative of Gaussian (witch's hat)
=2 6th derivative of Gaussian (wizard's hat)
nwavelet=1024 number of samples in the wavelet
xmin=-20 minimum x value wavelet is computed
xcenter=0 center x value wavelet is computed
xmax=20 maximum x value wavelet is computed
sigma=1 sharpness parameter ( sigma > 1 sharper)
verbose=0 silent, =1 chatty
holder=0 =1 compute Holder regularity estimate
divisor=1.0 a floating point number >= 1.0 (see notes)
Notes:
This is the CWT version of the time frequency analysis notion that is
applied in sugabor.
The parameter base is the base of the power that is applied to scale
the wavelet. Some mathematical literature assume base 2. Base 10 works
well here.
Default option yields an output similar to that of sugabor. With the
parameter holder=1 an estimate of the instantaneous Holder regularity
(the Holder exponent) is output for each input data value. The result
is a Holder exponent trace for each corresponding input data trace.
The strict definition of the Holder exponent is the maximum slope of
the rise of the spectrum in the log(amplitude) versus log(scale) domain:
divisor=1.0 means the exponent is computed simply by fitting a line
through all of the values in the transform. A value of divisor>1.0
indicates that the Holder exponent is determined as the max of slopes
found in (total scales)/divisor length segments.
Some experimentation with the parameters nwavelet, first, last, and
expinc may be necessary before a desirable output is obtained. The
most effective way to proceed is to perform a number of tests with
holder=0 to determine the range of first, last, and expinc that best
represents the data in the wavelet domain. Then experimentation with
holder=1 and values of divisor>=1.0 may proceed.
Credits:
CWP: John Stockwell, Nov 2004
inspired in part by "bhpcwt" in the BHP_SU package, code written by
BHP: Michael Glinsky, c. 2002, based loosely on a Matlab CWT function
References:
Li C.H., (2004), Information passage from acoustic impedence to
seismogram: Perspectives from wavelet-based multiscale analysis,
Journal of Geophysical Research, vol. 109, B07301, p.1-10.
Mallat, S. and W. L. Hwang, (1992), Singularity detection and
processing with wavelets, IEEE Transactions on information, v 38,
March 1992, p.617 - 643.
User's notes (Juan Lorenzo) untested
CHANGES and their DATES
Import packages
instantiation of packages
Encapsulated hash of private variables
sub Step
collects switches and assembles bash instructions by adding the program name
sub note
collects switches and assembles bash instructions by adding the program name
sub clear
sub base
sub divisor
sub expinc
sub first
sub holder
sub last
sub nwavelet
sub sigma
sub verbose
sub wtype
sub xcenter
sub xmax
sub xmin
sub get_max_index
max index = number of input variables -1