kernel_data/
kernel_data.rs1use bokeh::{kernel_gaussian_components, params::*};
2use std::env;
3use std::fs::File;
4use std::io::prelude::*;
5
6fn main() -> std::io::Result<()> {
7 let mut args = env::args();
8 args.next();
9 let out_dir = args.next().unwrap_or("plots".to_string());
10
11 for (p, params) in [
12 KERNEL1_PARAM_SET,
13 KERNEL2_PARAM_SET,
14 KERNEL3_PARAM_SET,
15 KERNEL4_PARAM_SET,
16 KERNEL5_PARAM_SET,
17 KERNEL6_PARAM_SET,
18 KERNEL7_PARAM_SET,
19 KERNEL8_PARAM_SET,
20 KERNEL9_PARAM_SET,
21 ]
22 .iter()
23 .enumerate()
24 {
25 for kernel_size in [1, 5, 10, 50, 100] {
26 let kernels = kernel_gaussian_components(params, kernel_size as f64);
27
28 let mut output = vec![0.0; kernels[0].len()];
29 for (n, kernel) in kernels.iter().enumerate() {
30 for (m, k) in kernel.iter().enumerate() {
31 output[m] += params.real_component(n) * k.re + params.imag_component(n) * k.im;
32 }
33
34 let mut file = File::create(format!("{}/{}_{}.json", out_dir, p + 1, kernel_size))?;
35 write!(file, "{:?}", output)?;
36 }
37 }
38 }
39
40 Ok(())
41}