rfourier: Radii variation Fourier transform (equally spaced radii)

View source: R/core-out-rfourier.R

rfourierR Documentation

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, ...)

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

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

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

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.

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.

Note

Silent message and progress bars (if any) with options("verbose"=FALSE).

Directly borrowed for Claude (2008), and called fourier1 there.

References

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

See Also

Other rfourier: rfourier_i(), rfourier_shape()

Examples

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()

vbonhomme/Momocs documentation built on Nov. 13, 2023, 8:54 p.m.