56 releases (14 stable)
new 2.1.0 | Mar 28, 2023 |
---|---|
1.3.2 |
|
1.0.2 | Dec 29, 2022 |
0.26.1 |
|
0.5.0 | Jul 20, 2021 |
#21 in No standard library
409 downloads per month
Used in 2 crates
(via four-bar)
56KB
1K
SLoC
EFD Rust Library
Elliptical Fourier Descriptor (EFD) implementation in Rust. This crate implements 2D/3D EFD and its related functions.
Keyword Alias:
- Elliptical Fourier Analysis (EFA)
- Elliptical Fourier Function (EFF)
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.
@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 curve:
let curve = vec![
[0., 0.],
[1., 1.],
[2., 2.],
[3., 3.],
[2., 2.],
[1., 1.],
[0., 0.],
];
let described_curve = efd::Efd2::from_curve(curve).unwrap().generate(20);
Dependencies
~5.5MB
~119K SLoC