.BG
.FN icm
.TL
Ridge Estimation by ICM Method
.DN
Estimate a (single) ridge from a time-frequency representation,
using the ICM minimization method.
.CS
icm(modulus, guess, tfspec=numeric(dim(modulus)[2]), subrate=1, mu=1, lambda=2 * mu, iteration=100)
.RA
.AG modulus
Time-Frequency representation (real valued).
.AG guess
Initial guess for the algorithm.
.OA
.AG tfspec
Estimate for the contribution of the noise to modulus.
.AG subrate
Subsampling rate for ridge estimation.
.AG mu
Coefficient of the ridge's second derivative in cost function.
.AG lambda
Coefficient of the ridge's derivative in cost function.
.AG iteration
Maximal number of moves.
.RT
Returns the estimated ridge and the cost function.

ridge: 1D array (of same length as the signal)
containing the ridge.

cost: 1D array containing the cost function.

.SE
.DT
To accelerate convergence, it is useful to preprocess
modulus before running annealing method. Such a
preprocessing (smoothing and subsampling of modulus)
is implemented in "icm". The parameter subrate
specifies the subsampling rate.
.SH REFERENCES
See discussions in the text of "Practical Time-Frequency Analysis".
.SA
"corona", "coronoid", and "snake", "snakoid".
.EX
