pub struct RobustConfig {
pub huber_k: f64,
pub scale_floor_m: f64,
pub max_outer: usize,
pub outer_tol_m: f64,
}Expand description
Opt-in Huber/IRLS robust-reweighting configuration.
When a SolveInputs::robust is Some(_), the solve runs an outer
iteratively-reweighted least-squares loop on top of the static elevation
weighting: a warm-start solve at the base elevation weights (bit-identical to
the static path), then re-solves that rebuild the weight vector each outer
iteration as base_elevation_weight * huber(r_i / s), where r_i is the
current unweighted post-fit residual and s is a floored MAD scale. With
robust = None the solve is byte-identical to the static elevation-weighted
solve. Default matches the DEFAULT_* config constants.
Fields§
§huber_k: f64Huber tuning constant k; residuals scaled below this keep full weight.
scale_floor_m: f64Floor (m) on the MAD scale, preventing a near-perfect fit from down-weighting every satellite.
max_outer: usizeMaximum total outer solves (the warm start plus reweighted resolves).
outer_tol_m: f64Outer-loop position L2 step tolerance (m).
Trait Implementations§
Source§impl Clone for RobustConfig
impl Clone for RobustConfig
Source§fn clone(&self) -> RobustConfig
fn clone(&self) -> RobustConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for RobustConfig
Source§impl Debug for RobustConfig
impl Debug for RobustConfig
Source§impl Default for RobustConfig
impl Default for RobustConfig
Source§impl PartialEq for RobustConfig
impl PartialEq for RobustConfig
Source§fn eq(&self, other: &RobustConfig) -> bool
fn eq(&self, other: &RobustConfig) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RobustConfig
Auto Trait Implementations§
impl Freeze for RobustConfig
impl RefUnwindSafe for RobustConfig
impl Send for RobustConfig
impl Sync for RobustConfig
impl Unpin for RobustConfig
impl UnsafeUnpin for RobustConfig
impl UnwindSafe for RobustConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.