Back to Aurora Vision Library website

You are here: Start » Function Reference » Profile » Profile Metrics » ProfileDistance

ProfileDistance


Header: AVL.h
Namespace: avl
Module: FoundationPro

Computes the [mean] square error between two profiles.

Syntax

C++
C#
 
void avl::ProfileDistance
(
	const avl::Profile& inProfile1,
	const avl::Profile& inProfile2,
	atl::Optional<const avl::Range&> inRange,
	avl::DistanceMeasure::Type inDistanceMeasure,
	float& outDistance
)

Parameters

Name Type Default Description
Input value inProfile1 const Profile& First input profile
Input value inProfile2 const Profile& Second input profile
Input value inRange Optional<const Range&> NIL
Input value inDistanceMeasure DistanceMeasure::Type Measure of distance
Output value outDistance float& Output distance value

Description

The operation computes the approximate difference between two profiles using the selected distance measure.

  • If the inDistanceMeasure is set to MeanError then the resulting outDistance is the average difference between corresponding values of the profiles.
  • If the inDistanceMeasure is set to MeanSquaredError then the resulting outDistance is the average squared difference between corresponding values of the profiles.

The operation requires that the profiles being compared have equal sizes, otherwise an error with appropriate description occurs.

Examples

Mean Squared Error between the sample profiles equals 25245.070.

Mean Error between the sample profiles equals 0.803.

Errors

List of possible exceptions:

Error type Description
DomainError DistanceMeasure type not supported in ProfileDistance.
DomainError Empty profile range in ProfileDistance.
DomainError Empty profiles on input in ProfileDistance.
DomainError Input profiles have different X coordinates in ProfileDistance.
DomainError Range exceeds the input profile in ProfileDistance.
DomainError Sizes of input profiles differ in ProfileDistance.