# rfourier: Radii variation Fourier transform (equally spaced radii) In Momocs: Morphometrics using R

## Description

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

## Usage

 ```1 2 3 4 5 6 7 8``` ```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, ...) ```

## 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.

Other rfourier: `rfourier_i`, `rfourier_shape`
 ``` 1 2 3 4 5 6 7 8 9 10``` ```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() ```