Class SiftScaleSpace


public class SiftScaleSpace extends Object

Generates the pyramidal scale space as described in the SIFT [1] paper.

[1] Lowe, D. "Distinctive image features from scale-invariant keypoints". International Journal of Computer Vision, 60, 2 (2004), pp.91--110.

  • Field Details

  • Constructor Details

    • SiftScaleSpace

      public SiftScaleSpace(int firstOctave, int lastOctave, int numScales, double sigma0)
      Configures the scale-space
      firstOctave - Initial octave. Negative numbers means it will scale up. Recommend 0 or -1.
      lastOctave - Last octave, inclusive. Recommend ????
      numScales - Number of scales in each octave. Recommend 3.
      sigma0 - Amount of blur at the first level in the image pyramid. Recommend 1.6
  • Method Details

    • computeSigmaScale

      public double computeSigmaScale(int octave, int scale)
      Returns the blur at the given octave and scale
    • isOctaveTooSmall

      public boolean isOctaveTooSmall(int octaveIdx)
      Checks to see if the octave is too small to process and no more layers should be processed
    • process

      public void process(GrayF32 input)
      Computes the entire SIFT scale space given the input image
      input - Input image. No prior blur should be applied to this image. Not modified.
    • getNumScaleImages

      public int getNumScaleImages()
    • getTotalOctaves

      public int getTotalOctaves()
    • pixelScaleCurrentToInput

      public double pixelScaleCurrentToInput(int octave)
      Returns the size of a pixel in the current octave relative to the size of a pixel in the input image
      pixel size to input image
    • getOriginalWidth

      public int getOriginalWidth()
    • getOriginalHeight

      public int getOriginalHeight()