Learn R Programming

Momocs (version 1.4.1)

rfourier: Radii variation Fourier transform (equally spaced radii)

Description

rfourier computes radii variation Fourier analysis from a matrix or a list of coordinates where points are equally spaced radii.

Usage

rfourier(x, ...)

# S3 method for default rfourier(x, nb.h, smooth.it = 0, norm = FALSE, ...)

# S3 method for Out rfourier(x, nb.h = 40, smooth.it = 0, norm = TRUE, thres = pi/90, ...)

# S3 method for list rfourier(x, ...)

Value

A list with following components:

  • an vector of \(a_{1->n}\) harmonic coefficients

  • bn vector of \(b_{1->n}\) harmonic coefficients

  • ao ao harmonic coefficient.

  • r vector of radii lengths.

Arguments

x

A list or matrix of coordinates or an Out object

...

useless here

nb.h

integer. The number of harmonics to use. If missing, 12 is used on shapes; 99 percent of harmonic power on Out objects, both with messages.

smooth.it

integer. The number of smoothing iterations to perform.

norm

logical. Whether to scale the outlines so that the mean length of the radii used equals 1.

thres

numeric a tolerance to feed is_equallyspacedradii

Details

see the JSS paper for the maths behind. The methods for Out objects tests if coordinates have equally spaced radii using is_equallyspacedradii. A message is printed if this is not the case.

References

Claude, J. (2008) Morphometrics with R, Use R! series, Springer 316 pp.

See Also

Other rfourier: rfourier_i(), rfourier_shape()

Examples

Run this code
data(bot)
coo <- coo_center(bot[1]) # centering is almost mandatory for rfourier family
coo_plot(coo)
rf  <- rfourier(coo, 12)
rf
rfi <- rfourier_i(rf)
coo_draw(rfi, border='red', col=NA)

# Out method
bot %>% rfourier()

Run the code above in your browser using DataLab