pub enum DistanceFunction {
Frobenius(ScalarDistance),
MeanEuclidean(ScalarDistance),
MeanManhattan(ScalarDistance),
Iou(VectorizedDistance),
ScipyEuclidean(ScipyDistance),
ScipySqeuclidean(ScipyDistance),
ScipyManhattan(ScipyDistance),
ScipyCosine(ScipyDistance),
ScipyChebyshev(ScipyDistance),
}Expand description
Enum-based distance function for static dispatch.
This avoids Box<dyn Distance> vtable overhead by using an enum
with inline implementations. Use distance_function_by_name() to
create instances.
Variants§
Frobenius(ScalarDistance)
MeanEuclidean(ScalarDistance)
MeanManhattan(ScalarDistance)
Iou(VectorizedDistance)
ScipyEuclidean(ScipyDistance)
ScipySqeuclidean(ScipyDistance)
ScipyManhattan(ScipyDistance)
ScipyCosine(ScipyDistance)
ScipyChebyshev(ScipyDistance)
Implementations§
Source§impl DistanceFunction
impl DistanceFunction
Sourcepub fn get_distances(
&self,
objects: &[&TrackedObject],
candidates: &[&Detection],
) -> DMatrix<f64>
pub fn get_distances( &self, objects: &[&TrackedObject], candidates: &[&Detection], ) -> DMatrix<f64>
Get distances between objects and candidates.
Sourcepub fn get_distances_objects(
&self,
objects: &[&TrackedObject],
candidates: &[&TrackedObject],
) -> DMatrix<f64>
pub fn get_distances_objects( &self, objects: &[&TrackedObject], candidates: &[&TrackedObject], ) -> DMatrix<f64>
Get distances between two sets of TrackedObjects (for ReID matching).
For built-in distance functions, creates temporary Detections from candidate estimates. For custom Python callables, this requires the reid_distance_function to accept (TrackedObject, TrackedObject) -> float (not Detection, TrackedObject).
Trait Implementations§
Source§impl Clone for DistanceFunction
impl Clone for DistanceFunction
Source§fn clone(&self) -> DistanceFunction
fn clone(&self) -> DistanceFunction
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Distance for DistanceFunction
impl Distance for DistanceFunction
Source§fn get_distances(
&self,
objects: &[&TrackedObject],
candidates: &[&Detection],
) -> DMatrix<f64>
fn get_distances( &self, objects: &[&TrackedObject], candidates: &[&Detection], ) -> DMatrix<f64>
Compute distances between objects and candidate detections. Read more
Auto Trait Implementations§
impl Freeze for DistanceFunction
impl RefUnwindSafe for DistanceFunction
impl Send for DistanceFunction
impl Sync for DistanceFunction
impl Unpin for DistanceFunction
impl UnwindSafe for DistanceFunction
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.