NormalizedCrossCorrelationMean#

class NormalizedCrossCorrelationMean(**kwargs)[source]#

Bases: NormalizedCrossCorrelation

Computes a similar score than NormalizedCrossCorrelation, but additionally factors in the mean of template and target.

\[\text{score} = \frac{(\text{target_weights} - \text{mean(target_weights)}) \cdot (\text{template_weights} - \text{mean(template_weights)})} {\text{max(target_norm} \times \text{template_norm, eps)}}\]

Where:

\[\text{target_norm} = ||\text{target_weights} - \text{mean(target_weights)}||\]
\[\text{template_norm} = ||\text{template_weights} - \text{mean(template_weights)}||\]

Here, \(||.||\) denotes the L2 (Euclidean) norm, and \(\text{mean(.)}\) computes the mean of the respective weights.

Parameters:
targetNDArray

A d-dimensional target to match the template coordinate set to.

template_coordinatesNDArray

Template coordinate array with shape (d,n).

template_weightsNDArray

Template weight array with shape (n,).

template_mask_coordinatesNDArray, optional

Template mask coordinates with shape (d,n).

target_maskNDArray, optional

A d-dimensional mask to be applied to the target.

negate_scorebool, optional

Whether the final score should be multiplied by negative one. Default is True.

return_gradientbool, optional

Invoking __call_ returns a tuple of score and parameter gradient. Default is False.

**kwargsDict, optional

Keyword arguments propagated to downstream functions.

Methods

NormalizedCrossCorrelationMean.grad()

Calculate the normalized gradient of the cost function w.r.t.

NormalizedCrossCorrelationMean.rotate_array(...)

NormalizedCrossCorrelationMean.score(x)

Compute the matching score for the given transformation parameters.

NormalizedCrossCorrelationMean.score_angles(x)

Computes the score after a given rotation.

NormalizedCrossCorrelationMean.score_translation(x)

Computes the score after a given translation.