code: boolean isEdge( int x , int y ) {
  		if( edgeThreshold <= 0 )
  			return false;
  
  		double xx = derivXX.compute(x,y);
  		double xy = derivXY.compute(x,y);
  		double yy = derivYY.compute(x,y);
  
  		double Tr = xx + yy;
  		double det = xx*yy - xy*xy;
  
  		// Paper quite "In the unlikely event that the determinant is negative, the curvatures have different signs
  		// so the point is discarded as not being an extremum"
  		if( det <= 0)
  			return true;
  		else {
  			// In paper this is:
  			// Tr**2/Det < (r+1)**2/r
  			return( Tr*Tr >= edgeThreshold*det);
  		}
  	}
docs: Performs an edge test to remove false positives.  See 4.1 in [1].