nominal_api/conjure/objects/scout/compute/api/
stft_options.rs1#[derive(
3 Debug,
4 Clone,
5 conjure_object::serde::Serialize,
6 conjure_object::serde::Deserialize,
7 conjure_object::private::DeriveWith
8)]
9#[serde(crate = "conjure_object::serde")]
10#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
11#[conjure_object::private::staged_builder::staged_builder]
12#[builder(crate = conjure_object::private::staged_builder, update, inline)]
13pub struct StftOptions {
14 #[builder(default, into)]
15 #[serde(rename = "window", skip_serializing_if = "Option::is_none", default)]
16 window: Option<super::FftWindow>,
17 #[builder(default, into)]
18 #[serde(rename = "windowSymmetry", skip_serializing_if = "Option::is_none", default)]
19 window_symmetry: Option<super::WindowSymmetry>,
20 #[builder(default, into)]
21 #[serde(
22 rename = "samplingFrequency",
23 skip_serializing_if = "Option::is_none",
24 default
25 )]
26 #[derive_with(with = conjure_object::private::DoubleWrapper)]
27 sampling_frequency: Option<f64>,
28 #[builder(default, into)]
29 #[serde(rename = "nperseg", skip_serializing_if = "Option::is_none", default)]
30 nperseg: Option<i32>,
31 #[builder(default, into)]
32 #[serde(rename = "noverlap", skip_serializing_if = "Option::is_none", default)]
33 noverlap: Option<i32>,
34 #[builder(default, into)]
35 #[serde(rename = "nfft", skip_serializing_if = "Option::is_none", default)]
36 nfft: Option<i32>,
37 #[builder(default, into)]
38 #[serde(rename = "detrend", skip_serializing_if = "Option::is_none", default)]
39 detrend: Option<super::DetrendType>,
40}
41impl StftOptions {
42 #[inline]
44 pub fn new() -> Self {
45 Self::builder().build()
46 }
47 #[inline]
49 pub fn window(&self) -> Option<&super::FftWindow> {
50 self.window.as_ref().map(|o| &*o)
51 }
52 #[inline]
54 pub fn window_symmetry(&self) -> Option<&super::WindowSymmetry> {
55 self.window_symmetry.as_ref().map(|o| &*o)
56 }
57 #[inline]
59 pub fn sampling_frequency(&self) -> Option<f64> {
60 self.sampling_frequency.as_ref().map(|o| *o)
61 }
62 #[inline]
64 pub fn nperseg(&self) -> Option<i32> {
65 self.nperseg.as_ref().map(|o| *o)
66 }
67 #[inline]
69 pub fn noverlap(&self) -> Option<i32> {
70 self.noverlap.as_ref().map(|o| *o)
71 }
72 #[inline]
74 pub fn nfft(&self) -> Option<i32> {
75 self.nfft.as_ref().map(|o| *o)
76 }
77 #[inline]
79 pub fn detrend(&self) -> Option<&super::DetrendType> {
80 self.detrend.as_ref().map(|o| &*o)
81 }
82}