org.openimaj.image.processing.pyramid
Class Octave<OPTIONS extends PyramidOptions<?,IMAGE>,PYRAMID extends Pyramid<OPTIONS,?,IMAGE>,IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>

java.lang.Object
  extended by org.openimaj.image.processing.pyramid.Octave<OPTIONS,PYRAMID,IMAGE>
Type Parameters:
OPTIONS - Type of options object
PYRAMID - Type of parent pyramid
IMAGE - Type of underlying image
All Implemented Interfaces:
Iterable<IMAGE>
Direct Known Subclasses:
GaussianOctave

public abstract class Octave<OPTIONS extends PyramidOptions<?,IMAGE>,PYRAMID extends Pyramid<OPTIONS,?,IMAGE>,IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>
extends Object
implements Iterable<IMAGE>

An octave is an interval in scale space, typically corresponding to a doubling of sigma. Octaves contain a stack of one or more images, with each image typically at a higher scale than the previous. Octaves are Iterable for easy access to each of the images in turn.

Author:
Jonathon Hare

Field Summary
 IMAGE[] images
          The images that make up this Octave
 float octaveSize
          The size of the octave relative to the original image.
 OPTIONS options
          The options used for the pyramid construction
 PYRAMID parentPyramid
          The pyramid that contains this Octave
 
Constructor Summary
Octave(PYRAMID parent, float octaveSize)
          Construct a Gaussian octave with the provided parent Pyramid and octaveSize.
 
Method Summary
abstract  IMAGE getNextOctaveImage()
          Get the image that starts the next octave.
 Iterator<IMAGE> iterator()
           
abstract  void process(IMAGE image)
          Populate the octave, starting from the provided image.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

options

public OPTIONS extends PyramidOptions<?,IMAGE> options
The options used for the pyramid construction


images

public IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>[] images
The images that make up this Octave


parentPyramid

public PYRAMID extends Pyramid<OPTIONS,?,IMAGE> parentPyramid
The pyramid that contains this Octave


octaveSize

public float octaveSize
The size of the octave relative to the original image.

Constructor Detail

Octave

public Octave(PYRAMID parent,
              float octaveSize)
Construct a Gaussian octave with the provided parent Pyramid and octaveSize. The octaveSize parameter is the size of the octave's images compared to the original image used to construct the pyramid. An octaveSize of 1 means the same size as the original, 2 means half size, 4 means quarter size, etc.

Parameters:
parent - the pyramid that this octave belongs to
octaveSize - the size of the octave relative to the original image.
Method Detail

process

public abstract void process(IMAGE image)
Populate the octave, starting from the provided image.

Parameters:
image - the image.

getNextOctaveImage

public abstract IMAGE getNextOctaveImage()
Get the image that starts the next octave. Usually this is the image that has twice the sigma of the image used to initialise this octave.

Returns:
image image to start next octave.

iterator

public Iterator<IMAGE> iterator()
Specified by:
iterator in interface Iterable<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>


Copyright © 2011 The University of Southampton. All Rights Reserved.