#[derive(Debug, Clone, Copy, PartialEq)]
pub enum DistortionModel {
None,
Poly3 {
k1: f32,
},
Poly5 {
k1: f32,
k2: f32,
},
Ptlens {
a: f32,
b: f32,
c: f32,
},
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct CalibDistortion {
pub focal: f32,
pub model: DistortionModel,
pub real_focal: Option<f32>,
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum TcaModel {
None,
Linear {
kr: f32,
kb: f32,
},
Poly3 {
red: [f32; 3],
blue: [f32; 3],
},
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct CalibTca {
pub focal: f32,
pub model: TcaModel,
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum VignettingModel {
None,
Pa {
k1: f32,
k2: f32,
k3: f32,
},
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct CalibVignetting {
pub focal: f32,
pub aperture: f32,
pub distance: f32,
pub model: VignettingModel,
}