use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
#[non_exhaustive]
pub enum MultiscaleConfig {
#[default]
SingleScale,
Pyramid {
levels: u8,
min_size: usize,
refinement_radius: u32,
},
}
impl MultiscaleConfig {
pub const fn pyramid_default() -> Self {
Self::Pyramid {
levels: 3,
min_size: 128,
refinement_radius: 3,
}
}
pub const fn pyramid(levels: u8, min_size: usize, refinement_radius: u32) -> Self {
Self::Pyramid {
levels,
min_size,
refinement_radius,
}
}
}