fraug/augmenters/
mod.rs

1//! Module for the `Augmenter` trait and all augmenters this crate implements.
2//! 
3//! Every augmenter implements the `Augmenter` trait which enables a unified interface
4//! with the methods `augment_batch` and `augment_one`
5//!
6//! # Examples
7//! Every augmenter can be used analogously to these examples
8//! 
9//! ```
10//! use fraug::augmenters::{Augmenter, Rotation};
11//! 
12//! let series = vec![1.0; 100];
13//!
14//! let augmenter = Rotation::new(0.5);
15//! let series = augmenter.augment_one(&series);
16//!
17//! assert_eq!(series, vec![0.0; 100]);
18//! ```
19//! 
20//! ```
21//! use fraug::Dataset;
22//! use fraug::augmenters::*;
23//!
24//! let series = vec![1.0; 100];
25//! let mut set = Dataset {
26//!    features: vec![series],
27//!    labels: vec![String::from("1")],
28//! };
29//! 
30//! let mut jittering = Jittering::new(0.2);
31//! jittering.set_probability(0.5); // Only do jittering for half of the series in the batch
32//! 
33//! let pipeline = AugmentationPipeline::new() 
34//!                + Repeat::new(5) 
35//!                + Crop::new(20)
36//!                + jittering;
37//!
38//! pipeline.augment_batch(&mut set, true, false);
39//!
40//! assert_eq!(set.features.len(), 5);
41//! assert_eq!(set.features[3].len(), 20);
42//! ```
43
44mod addnoise;
45mod amplitude_phase_perturbation;
46mod base;
47mod convolve;
48mod crop;
49mod drift;
50mod drop;
51mod frequency_mask;
52mod jittering;
53mod permutate;
54mod pool;
55mod quantize;
56mod repeat;
57mod resize;
58mod reverse;
59mod rotation;
60mod scaling;
61mod time_warp;
62
63pub use addnoise::{AddNoise, NoiseType};
64pub use amplitude_phase_perturbation::AmplitudePhasePerturbation;
65pub use base::{AugmentationPipeline, Augmenter};
66pub use convolve::{Convolve, ConvolveWindow};
67pub use crop::Crop;
68pub use drift::Drift;
69pub use drop::Drop;
70pub use frequency_mask::FrequencyMask;
71pub use jittering::Jittering;
72pub use permutate::Permutate;
73pub use pool::{Pool, PoolingMethod};
74pub use quantize::Quantize;
75pub use repeat::Repeat;
76pub use resize::Resize;
77pub use reverse::Reverse;
78pub use rotation::Rotation;
79pub use scaling::Scaling;
80pub use time_warp::RandomTimeWarpAugmenter;