code: public void process(GrayF32 intensityImage, @Nullable QueueCorner localMin, @Nullable QueueCorner localMax) {
  
  		if( localMin != null )
  			localMin.reset();
  		if( localMax != null )
  			localMax.reset();
  
  		// the defines the region that can be processed
  		int endX = intensityImage.width - border;
  		int endY = intensityImage.height - border;
  
  		int step = configuration.radius+1;
  
  		search.initialize(configuration,intensityImage,localMin,localMax);
  
  		for(int y = border; y < endY; y += step ) {
  			int y1 = y + step;
  			if( y1 > endY) y1 = endY;
  
  			for(int x = border; x < endX; x += step ) {
  				int x1 = x + step;
  				if( x1 > endX) x1 = endX;
  				search.searchBlock(x,y,x1,y1);
  			}
  		}
  	}
docs: Detects local minimums and/or maximums in the provided intensity image.
  
  @param intensityImage (Input) Feature intensity image.
  @param localMin (Output) storage for found local minimums.
  @param localMax (Output) storage for found local maximums.