pub struct SiftOptions {Show 14 fields
pub max_num_features: usize,
pub first_octave: i32,
pub num_octaves: Option<usize>,
pub octave_resolution: usize,
pub peak_threshold: f32,
pub edge_threshold: f32,
pub max_num_orientations: usize,
pub upright: bool,
pub normalization: DescriptorNormalization,
pub truncate_width_to_4: bool,
pub refinement_iterations: usize,
pub reject_singular_refinement: bool,
pub orientation_bin_interpolation: bool,
pub selection: FeatureSelection,
}Expand description
SIFT options. Defaults = pipeline settings + level-wise selection behavior.
Fields§
§max_num_features: usizeMaximum feature count (0 = unlimited).
first_octave: i32-1 (2x upsample) or 0.
num_octaves: Option<usize>None = automatic from image size (floor(log2 min) - 3). Some(n) = fixed.
octave_resolution: usizeNumber of detection levels per octave S.
peak_threshold: f32DoG extremum threshold (contrast).
edge_threshold: f32Edge suppression threshold (principal curvature ratio).
max_num_orientations: usizeMaximum number of orientations per keypoint.
upright: boolIf true, θ = 0 without orientation assignment.
normalization: DescriptorNormalizationDescriptor normalization mode.
truncate_width_to_4: boolRound the input width down to a multiple of 4 (default behavior). If disabled, the right columns are not dropped (improvement).
refinement_iterations: usizeNumber of sub-pixel refinement iterations. 1 = once (no shift, default). 5 = iterate while shifting pixels (improvement).
reject_singular_refinement: boolDiscard if the Hessian is singular (improvement). Default false = pass with δ=0.
orientation_bin_interpolation: boolLinear interpolation between adjacent orientation histogram bins (improvement).
selection: FeatureSelectionMaximum feature count limiting mode.
Trait Implementations§
Source§impl Clone for SiftOptions
impl Clone for SiftOptions
Source§impl Debug for SiftOptions
impl Debug for SiftOptions
Source§impl Default for SiftOptions
impl Default for SiftOptions
Source§impl PartialEq for SiftOptions
impl PartialEq for SiftOptions
impl StructuralPartialEq for SiftOptions
Auto Trait Implementations§
impl Freeze for SiftOptions
impl RefUnwindSafe for SiftOptions
impl Send for SiftOptions
impl Sync for SiftOptions
impl Unpin for SiftOptions
impl UnsafeUnpin for SiftOptions
impl UnwindSafe for SiftOptions
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.