java.lang.Object
imagingbook.common.math.VectorNorm
- Direct Known Subclasses:
VectorNorm.L1
,VectorNorm.L2
,VectorNorm.Linf
This class defines various vector norms for calculating the magnitude of a vector and the distance between vectors.
- Version:
- 2022/09/11
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Implementation of the L1 vector norm (Manhattan norm/distance).static class
Implementation of the L2 vector norm (Euclidean norm/distance).static class
Implementation of the L-infinity vector norm (maximum norm/distance).static enum
Enumeration type forVectorNorm
to be used as parameter choice. -
Method Summary
Modifier and TypeMethodDescriptionabstract double
distance
(double[] a, double[] b) Returns the distance between twodouble[]
vectors under this norm.abstract double
distance
(float[] a, float[] b) Returns the distance between twofloat[]
vectors under this norm.abstract double
distance
(int[] a, int[] b) Returns the distance between twoint[]
vectors under this norm.abstract double
distance2
(double[] a, double[] b) Returns the squared distance between twodouble[]
vectors under this norm.abstract double
distance2
(float[] a, float[] b) Returns the squared distance between twofloat[]
vectors under this norm.abstract double
distance2
(int[] a, int[] b) Returns the squared distance between twoint[]
vectors under this norm.abstract double
getScale
(int n) Returns a factor to scale magnitude and distance values to the range of the vector components of dimensionality n.abstract double
magnitude
(double[] a) Returns the magnitude of the specifieddouble[]
vector under this norm.abstract double
magnitude
(float[] a) Returns the magnitude of the specifiedfloat[]
vector under this norm.abstract double
magnitude
(int[] a) Returns the magnitude of the specifiedint[]
vector under this norm.
-
Method Details
-
magnitude
Returns the magnitude of the specifieddouble[]
vector under this norm.- Parameters:
a
- a vector- Returns:
- the magnitude of the vector
-
magnitude
Returns the magnitude of the specifiedfloat[]
vector under this norm.- Parameters:
a
- a vector- Returns:
- the magnitude of the vector
-
magnitude
Returns the magnitude of the specifiedint[]
vector under this norm.- Parameters:
a
- a vector- Returns:
- the magnitude of the vector
-
distance
Returns the distance between twodouble[]
vectors under this norm.- Parameters:
a
- first vectorb
- second vector- Returns:
- the distance between vectors a and b
-
distance
Returns the distance between twofloat[]
vectors under this norm.- Parameters:
a
- first vectorb
- second vector- Returns:
- the distance between vectors a and b
-
distance
Returns the distance between twoint[]
vectors under this norm.- Parameters:
a
- first vectorb
- second vector- Returns:
- the distance between vectors a and b
-
distance2
Returns the squared distance between twodouble[]
vectors under this norm.- Parameters:
a
- first vectorb
- second vector- Returns:
- the distance between vectors a and b
-
distance2
Returns the squared distance between twofloat[]
vectors under this norm.- Parameters:
a
- first vectorb
- second vector- Returns:
- the distance between vectors a and b
-
distance2
Returns the squared distance between twoint[]
vectors under this norm.- Parameters:
a
- first vectorb
- second vector- Returns:
- the distance between vectors a and b
-
getScale
Returns a factor to scale magnitude and distance values to the range of the vector components of dimensionality n. This is prim. used for scaling color distances (n = 3). E.g., if components are distributed in [0,255], the distances multiplied by this factor should again be in [0,255].- Parameters:
n
- dimensionality- Returns:
- scale factor
-