EFD Rust Library

dependency status documentation

Elliptical Fourier Descriptor (EFD) implementation in Rust. This crate implements 2D/3D EFD and its related functions.

Keyword Alias:

Reference: Kuhl, FP and Giardina, CR (1982). Elliptic Fourier features of a closed contour. Computer graphics and image processing, 18(3), 236-258.

This is an unofficial implementation.

bibtex @article{kuhl1982elliptic, title={Elliptic Fourier features of a closed contour}, author={Kuhl, Frank P and Giardina, Charles R}, journal={Computer graphics and image processing}, volume={18}, number={3}, pages={236--258}, year={1982}, publisher={Elsevier} }

Example of re-describing a new closed curve:

rust let curve = vec![ [0., 0.], [1., 1.], [2., 2.], [3., 3.], [2., 2.], [1., 1.], ]; assert!(efd::valid_curve(&curve).is_some()); let described_curve = efd::Efd2::from_curve(curve, false).generate(20);