//=============================================================================
#ifndef FEATUREFINDER_H
#define FEATUREFINDER_H

#include "subWindow.h"

class bwImage;
class rgbImage;
class floatImage;
class sortedList;

class featureFinder
{
public:
  featureFinder( rgbImage *input );
  featureFinder( bwImage *input );
  ~featureFinder();

  sortedSubWindowList findFeatures( int numFeatures );
  
private:
  void findCentroid( floatImage *intensMap, int x1, int y1, int x2, int y2,
		     int &centX, int &centY );
  void findStandardDeviation( floatImage *intensMap,
			      int x1, int y1, int x2, int y2,
			      int centX, int centY,
			      float &devX, float &devY );
  void findAFeature( floatImage *weightMap, int &locX, int &locY,
		     int &sizeX, int &sizeY, float &featLevel );
private:
  floatImage *cornerResp_;
};

#endif // FEATUREFINDER_H

