code: public static float polyPeak( float lower , float middle , float upper )
  	{
  //		if( lower >= middle || upper >= middle )
  //			throw new IllegalArgumentException("Crap");
  
  		// only need two coefficients to compute the peak's location
  		float a = 0.5f*lower - middle + 0.5f*upper;
  		float b = 0.5f*upper - 0.5f*lower;
  
  		return -b/(2.0f*a);
  	}
docs: <p>
  Fits a second order polynomial to the data and determines the location of the peak.
  <br>
  y = a*x<sup>2</sup>+b*x + c<br>
  x = {-1,0,1}<br>
  y = Feature value
  </p>
  
  <p>
  Note: The original paper fit a 3D Quadratic to the data instead.  This required the first
  and second derivative of the Laplacian to be estimated.  Such estimates are error prone
  and using the technique found in OpenSURF produced erratic results and required some hackery
  to get to work.  This should always produce stable results and is much faster.
  </p>
  
  @param lower Value at x=-1
  @param middle Value at x=0
  @param upper Value at x=1
  @return x-coordinate of the peak