Module imagingbook.common
Class ScaleOctave<LevelT extends ScaleLevel>
java.lang.Object
imagingbook.common.sift.scalespace.ScaleOctave<LevelT>
- Type Parameters:
LevelT- the scale level type
- All Implemented Interfaces:
PrintsToStream
- Direct Known Subclasses:
DogOctave,GaussianOctave
public abstract class ScaleOctave<LevelT extends ScaleLevel>
extends Object
implements PrintsToStream
Represents a single "octave", which is a stack of scale "levels", in a generic hierarchical scale space. See Sec. 25.1.4. of [1] for details. Basically this is an array with flexible bottom and top index.
[1] W. Burger, M.J. Burge, Digital Image Processing – An Algorithmic Introduction, 3rd ed, Springer (2022).
- Version:
- 2022/11/20
-
Method Summary
Modifier and TypeMethodDescriptiondoublegetAbsoluteScale(int q) Returns the absolute scale (σ) associated with level q.doublegetAbsoluteScale(int p, int q) Returns the absolute scale (σ) for octave index p and level index q;intReturns the image height of this scale space octave.Returns an ImageJImageStackfor this octave which can be displayed.getLevel(int q) Returns a reference to the scale level of this octave with the specified index.voidgetNeighborhood(int q, int u, int v, float[][][] nh) Collects and returns the 3x3x3 neighborhood values from this octave at scale level q and center position (u,v).intReturns the index (p) of this scale space octave.intgetWidth()Returns the image width of this scale space octave.booleanisInside(int q, int u, int v) Returns true iff q is outside the level range and position (u,v) is inside the level's bounds.voidprintToStream(PrintStream strm) This method writes a description of this object to the specifiedPrintStream.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface imagingbook.common.util.PrintsToStream
printToString
-
Method Details
-
getOctaveIndex
Returns the index (p) of this scale space octave.- Returns:
- the octave index
-
getWidth
Returns the image width of this scale space octave.- Returns:
- the image width
-
getHeight
Returns the image height of this scale space octave.- Returns:
- the image height
-
getLevel
Returns a reference to the scale level of this octave with the specified index.- Parameters:
q- the level index- Returns:
- a reference to scale level q
-
isInside
Returns true iff q is outside the level range and position (u,v) is inside the level's bounds.- Parameters:
q- the level indexu- horizontal coordinatev- vertical coordinate- Returns:
- true iff inside this level
-
getAbsoluteScale
Returns the absolute scale (σ) associated with level q.- Parameters:
q- the level index- Returns:
- the absolute scale of the level
-
getAbsoluteScale
Returns the absolute scale (σ) for octave index p and level index q;- Parameters:
p- the octave indexq- the level index- Returns:
- the absolute scale
-
getNeighborhood
Collects and returns the 3x3x3 neighborhood values from this octave at scale level q and center position (u,v). The result is stored in the supplied 3x3x3 array nh[s][x][y].- Parameters:
q- the level indexu- the horizontal coordinatev- the vertical coordinatenh- the 3x3x3 neighborhood array to hold the result
-
getImageStack
Returns an ImageJImageStackfor this octave which can be displayed. Frame labels are automatically set.- Returns:
- an
ImageStackfor this octave
-
printToStream
Description copied from interface:PrintsToStreamThis method writes a description of this object to the specifiedPrintStream.- Specified by:
printToStreamin interfacePrintsToStream- Parameters:
strm- the output stream to print to
-