java.lang.Object
imagingbook.common.sift.SiftDescriptor
- All Implemented Interfaces:
Pnt2d
,Primitive2d
,ShapeProducer
,Comparable<SiftDescriptor>
This class defines a SIFT descriptor. See Sec. 25.3 of [1] for more details. Instances are immutable.
[1] W. Burger, M.J. Burge, Digital Image Processing – An Algorithmic Introduction, 3rd ed, Springer (2022).
- Version:
- 2022/11/20
-
Nested Class Summary
Nested classes/interfaces inherited from interface imagingbook.common.geometry.basic.Pnt2d
Pnt2d.PntDouble, Pnt2d.PntInt
-
Field Summary
Fields inherited from interface imagingbook.common.geometry.basic.Pnt2d
DefaultDotRadius, TOLERANCE
-
Method Summary
Modifier and TypeMethodDescriptionint
compareTo
(SiftDescriptor other) double
getDistance
(SiftDescriptor other) Calculates and returns the distance between this descriptor's feature vector and another descriptor's feature vector using the Euclidean distance (VectorNorm.L2
).double
getDistance
(SiftDescriptor other, VectorNorm norm) Calculates and returns the distance between this descriptor's feature vector and another descriptor's feature vector using the specifiedVectorNorm
.int[]
Returns this descriptor's feature vector (array of integers).double
Returns this descriptor's gradient response magnitude (score).double
Returns this descriptor's orientation angle (in radians).double
getScale()
Returns this descriptor's absolute scale (σ).int
Returns this descriptor's scale level (scale space octave index p).getShape
(double featureScale) Returns a round dot (Shape
instance) for drawing this point.double
getX()
Returns the x-coordinate of this point.double
getY()
Returns the y-coordinate of this point.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface imagingbook.common.geometry.basic.Pnt2d
cross, distance, distanceSq, distL1, distL2, dot, duplicate, equals, getDistance, getXint, getYint, minus, minus, mult, perp, plus, plus, toAwtPoint2D, toDoubleArray, toRealVector, toVector2D
Methods inherited from interface imagingbook.common.geometry.shape.ShapeProducer
getShape, getShapes, getShapes
-
Method Details
-
getX
Description copied from interface:Pnt2d
Returns the x-coordinate of this point. -
getY
Description copied from interface:Pnt2d
Returns the y-coordinate of this point. -
getScale
Returns this descriptor's absolute scale (σ).- Returns:
- the absolute scale
-
getScaleLevel
Returns this descriptor's scale level (scale space octave index p).- Returns:
- the scale level
-
getMagnitude
Returns this descriptor's gradient response magnitude (score).- Returns:
- the gradient response magnitude
-
getOrientation
Returns this descriptor's orientation angle (in radians).- Returns:
- the orientation angle
-
getFeatures
Returns this descriptor's feature vector (array of integers).- Returns:
- the feature vector
-
getDistance
Calculates and returns the distance between this descriptor's feature vector and another descriptor's feature vector using the Euclidean distance (VectorNorm.L2
).- Parameters:
other
- anotherSiftDescriptor
- Returns:
- the distance
-
getDistance
Calculates and returns the distance between this descriptor's feature vector and another descriptor's feature vector using the specifiedVectorNorm
.- Parameters:
other
- anotherSiftDescriptor
norm
- aVectorNorm
instance- Returns:
- the distance
-
getShape
Description copied from interface:Pnt2d
Returns a round dot (Shape
instance) for drawing this point.- Specified by:
getShape
in interfacePnt2d
- Specified by:
getShape
in interfaceShapeProducer
- Parameters:
featureScale
- the dot radius- Returns:
- the shape
-
toString
-
compareTo
- Specified by:
compareTo
in interfaceComparable<SiftDescriptor>
-