Alexandria 2.31.0
SDC-CH common library for the Euclid project
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
Euclid::MathUtils::EuclideanDistance Struct Reference

#include <Distances.h>

Static Public Member Functions

template<typename Scale , typename Iterator >
static auto distance (Scale scale, Iterator ref_begin, Iterator ref_end, Iterator target_begin) -> decltype(ref_begin->getFlux())
 
template<typename Iterator >
static auto guessScale (Iterator ref_begin, Iterator ref_end, Iterator target_begin) -> decltype(ref_begin->getFlux())
 
template<typename Scale , typename Iterator >
static auto daDistance (Scale scale, Iterator ref_begin, Iterator ref_end, Iterator target_begin) -> decltype(ref_begin->getFlux())
 

Detailed Description

Implement the distance (with scale factor), partial derivative of the distance wrt scale factor, and scale guessing for the Euclidean distance

Definition at line 115 of file Distances.h.

Member Function Documentation

◆ daDistance()

template<typename Scale , typename Iterator >
static auto Euclid::MathUtils::EuclideanDistance::daDistance ( Scale  scale,
Iterator  ref_begin,
Iterator  ref_end,
Iterator  target_begin 
) -> decltype(ref_begin->getFlux())
inlinestatic

\[ \frac{\delta}{\delta a}\left[ \sqrt{\sum_i^n (a f_{ref} - f_{target})^2} \right] = \frac{a \left(\sum_i^n *f_{ref}^2\right) - \left( \sum_i^n f_{ref} \times f_{target} \right)}{\sqrt{\sum_i^n (a f_{ref} - f_{target})^2}} *\]

Definition at line 156 of file Distances.h.

References std::sqrt().

Here is the call graph for this function:

◆ distance()

template<typename Scale , typename Iterator >
static auto Euclid::MathUtils::EuclideanDistance::distance ( Scale  scale,
Iterator  ref_begin,
Iterator  ref_end,
Iterator  target_begin 
) -> decltype(ref_begin->getFlux())
inlinestatic

Definition at line 117 of file Distances.h.

References std::sqrt().

Referenced by Euclid::MathUtils::InverseEuclidean::weight().

Here is the call graph for this function:

◆ guessScale()

template<typename Iterator >
static auto Euclid::MathUtils::EuclideanDistance::guessScale ( Iterator  ref_begin,
Iterator  ref_end,
Iterator  target_begin 
) -> decltype(ref_begin->getFlux())
inlinestatic

Guess the scale factor for the reference object

Template Parameters
Iterator
Parameters
ref_begin
ref_end
target_begin
Returns

Definition at line 138 of file Distances.h.

References std::sqrt().

Here is the call graph for this function:

The documentation for this struct was generated from the following file: