protected void detectFeatures ( int scaleIndex ) { extractor . process ( dogTarget ) ; FastQueue < NonMaxLimiter . LocalExtreme > found = extractor . getLocalExtreme ( ) ; derivXX . setImage ( dogTarget ) ; derivXY . setImage ( dogTarget ) ; derivYY . setImage ( dogTarget ) ; for ( int i = 0 ; i < found . size ; i ++ ) { NonMaxLimiter . LocalExtreme e = found . get ( i ) ; if ( e . max ) { if ( isScaleSpaceExtremum ( e . location . x , e . location . y , e . getValue ( ) , 1f ) ) { processFeatureCandidate ( e . location . x , e . location . y , e . getValue ( ) , e . max ) ; } } else if ( isScaleSpaceExtremum ( e . location . x , e . location . y , e . getValue ( ) , - 1f ) ) { processFeatureCandidate ( e . location . x , e . location . y , e . getValue ( ) , e . max ) ; } } }
Detect features inside the Difference - of - Gaussian image at the current scale