# TRANSMAX is the jWavelet module of jLab.

```  TRANSMAX  Locates modulus maximum points of wavelet transform.

This function is part of 'element analysis' described in Lilly (2017),
"Element analysis: a wavelet-based method for analyzing time-localized
events in noisy time series", available at www.jmlilly.net.

[INDEX,WW,FF]=TRANSMAX(FA,W) gives the indicies INDEX, transform values
WW, and scale frequencies FF of all the maxima points in time and scale
of the wavelet transform W, which has been performed at frequencies FS.

W is oriented with time in rows and different scales or frequencies in
its columns, as output by WAVETRANS.  FS is a length SIZE(W,2) array
giving the scale frequencies at which the wavelet transform was taken.

The output variables are all column arrays.

TRANSMAX applies a central difference to both rows and columns to
locate maxima, then applies a quadratic interpolation in columns to
obtain a refined estimate of the scale locations.  The output fields FF
and WW represent interpolated values at these refined scale locations.

Note that W can have up to four dimensions.  This is useful for
datasets containing many replicate time series. Use

[II,JJ,KK,LL]=IND2SUB(SIZE(W),INDEX)

to convert INDEX into row numbers II, column numbers JJ, and so forth.

TRANSMAX(...,CHI) returns only those maxima points having magnitudes
exceeding CHI, i.e. ABS(W)>CHI.  CHI may be a scalar, or an array of
length SIZE(W,2).  In the latter case, different cutoffs are applied
to maximum points located in the different columns of W.
_______________________________________________________________________

Missing data fraction

TRANSMAX can also return a measure of how much each detected transform
maximum overlaps periods of interpolated or missing data.

It is sometimes the case that one is interested in transform maxima for
time series that have missing data points or gaps.  In this case, one
can just interpolate over all the missing data points, pass the
interpolated data to TRANSMAX, and then find the missing data fraction.

[INDEX,WW,FF,RR]=TRANSMAX(FS,W,{GAMMA,BETA,BOOL}), where the third
input argument is a cell array, returns the missing data fraction RR.
Here BOOL is a boolean variable of the same length as the analyzed time
series, which is true if a datapoint was originally missing.

If GAMMA and BETA are the parameters of the Morse wavelet used in the
transform, the wavelet time-domain width at scale frequency FS is
approximately L=2*SQRT(2)*SQRT(BETA*GAMMA)./FS, see Lilly (2017).

The missing data fraction RR is defined as the ratio of the number of
missing points in a window of half-width ROUND(L/2) centered on each
maximum, to the total number of points in the window.  Points in the
window but outside the edges of the time series are considered missing.

The missing data fraction can then be used as a constraint to exclude,
for example, transform maxima with RR > 0.1 or 10% missing data.
_______________________________________________________________________