if (fit.offset.get(1, 0) > 0.5 && y < dogs[0].height - octave.options.getBorderPixels()) newy++; if (fit.offset.get(1, 0) < -0.5 && y > octave.options.getBorderPixels()) newy--; if (fit.offset.get(2, 0) > 0.5 && x < dogs[0].width - octave.options.getBorderPixels()) newx++; if (fit.offset.get(2, 0) < -0.5 && x > octave.options.getBorderPixels()) newx--; if (currentIteration < numInterpolationIterations && (newy != y || newx != x)) {
if (fit.offset.get(1, 0) > 0.5 && y < dogs[0].height - octave.options.getBorderPixels()) newy++; if (fit.offset.get(1, 0) < -0.5 && y > octave.options.getBorderPixels()) newy--; if (fit.offset.get(2, 0) > 0.5 && x < dogs[0].width - octave.options.getBorderPixels()) newx++; if (fit.offset.get(2, 0) < -0.5 && x > octave.options.getBorderPixels()) newx--; if (currentIteration < numInterpolationIterations && (newy != y || newx != x)) {
@Override public void process(OCTAVE octave) { beforeProcess(octave); this.octave = octave; final FImage[] images = octave.images; final int height = images[0].height; final int width = images[0].width; final int borderDist = octave.options.getBorderPixels(); // search through the scale-space images, leaving a border for (currentScaleIndex = 1; currentScaleIndex < images.length - 1; currentScaleIndex++) { for (int y = borderDist; y < height - borderDist; y++) { for (int x = borderDist; x < width - borderDist; x++) { final float val = images[currentScaleIndex].pixels[y][x]; if (firstCheck(val, x, y, currentScaleIndex, images) && isLocalExtremum(val, images[currentScaleIndex - 1], x, y) && isLocalExtremum(val, images[currentScaleIndex], x, y) && isLocalExtremum(val, images[currentScaleIndex + 1], x, y) && isNotEdge(images[currentScaleIndex], x, y)) { processExtrema(images, currentScaleIndex, x, y, octave.octaveSize); } } } } }
@Override public void process(OCTAVE octave) { beforeProcess(octave); this.octave = octave; final FImage[] images = octave.images; final int height = images[0].height; final int width = images[0].width; final int borderDist = octave.options.getBorderPixels(); // search through the scale-space images, leaving a border for (currentScaleIndex = 1; currentScaleIndex < images.length - 1; currentScaleIndex++) { for (int y = borderDist; y < height - borderDist; y++) { for (int x = borderDist; x < width - borderDist; x++) { final float val = images[currentScaleIndex].pixels[y][x]; if (firstCheck(val, x, y, currentScaleIndex, images) && isLocalExtremum(val, images[currentScaleIndex - 1], x, y) && isLocalExtremum(val, images[currentScaleIndex], x, y) && isLocalExtremum(val, images[currentScaleIndex + 1], x, y) && isNotEdge(images[currentScaleIndex], x, y)) { processExtrema(images, currentScaleIndex, x, y, octave.octaveSize); } } } } }
final int minImageSize = 2 + (2 * options.getBorderPixels());
final int minImageSize = 2 + (2 * options.getBorderPixels());