mpi.cbg.fly
Class FloatArray2DSIFT

java.lang.Object
  extended by mpi.cbg.fly.FloatArray2DSIFT

public class FloatArray2DSIFT
extends java.lang.Object


Constructor Summary
FloatArray2DSIFT(int feature_descriptor_size, int feature_descriptor_orientation_bins)
          Constructor
 
Method Summary
static float[] featureSizeHistogram(java.util.Vector<Feature> features, float min, float max, int bins)
          get a histogram of feature sizes
 long getFeatureObjectSize()
          Returns the size in bytes of a Feature object.
static long getFeatureObjectSize(int fdsize, int fdbins)
           
 FloatArray2DScaleOctave getOctave(int i)
           
 FloatArray2DScaleOctave[] getOctaves()
           
 void init(FloatArray2D src, int steps, float initial_sigma, int min_size, int max_size)
          initialize the scale space as a scale pyramid having octave stubs only
 java.util.Vector<Feature> run()
          detect features in all scale octaves
 java.util.Vector<Feature> run(int max_size)
          detect features in all scale octaves
 java.util.Vector<Feature> runOctave(int o)
          detect features in the specified scale octave
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FloatArray2DSIFT

public FloatArray2DSIFT(int feature_descriptor_size,
                        int feature_descriptor_orientation_bins)
Constructor

Parameters:
feature_descriptor_size -
feature_descriptor_size -
Method Detail

getFeatureObjectSize

public long getFeatureObjectSize()
Returns the size in bytes of a Feature object.


getFeatureObjectSize

public static long getFeatureObjectSize(int fdsize,
                                        int fdbins)

getOctaves

public FloatArray2DScaleOctave[] getOctaves()

getOctave

public FloatArray2DScaleOctave getOctave(int i)

init

public void init(FloatArray2D src,
                 int steps,
                 float initial_sigma,
                 int min_size,
                 int max_size)
initialize the scale space as a scale pyramid having octave stubs only

Parameters:
src - image having a generating gaussian kernel of initial_sigma img must be a 2d-array of float values in range [0.0f, ..., 1.0f]
steps - gaussian smooth steps steps per scale octave
initial_sigma - sigma of the generating gaussian kernel of img
min_size - minimal size of a scale octave in pixel
max_size - maximal size of an octave to be taken into account Use this to save memory and procesing time, if processing higher resolutions is not necessary.

runOctave

public java.util.Vector<Feature> runOctave(int o)
detect features in the specified scale octave

Parameters:
o - octave index
Returns:
detected features

run

public java.util.Vector<Feature> run()
detect features in all scale octaves

Returns:
detected features

run

public java.util.Vector<Feature> run(int max_size)
detect features in all scale octaves

Returns:
detected features

featureSizeHistogram

public static float[] featureSizeHistogram(java.util.Vector<Feature> features,
                                           float min,
                                           float max,
                                           int bins)
get a histogram of feature sizes

Parameters:
rs -