// returns best point static Pt bwSpiralSearch(BWImage proto, IBWImage img, float instantWinThreshold default 0.8f) { int leewayX = img.getWidth()-proto.getWidth(); int leewayY = img.getHeight()-proto.getHeight(); for (long xy : pixelSpiral_longIterator(leewayX, leewayY)) { int x = firstIntFromLong(xy), y = secondIntFromLong(xy); float sim = bwImageSectionsSimilarity2(image, proto, x, y, minSimilarity); if (sim >= instantWinThreshold) ret longToPt(xy); if (sim >= best) { bestPt = xy; best = sim; } } ret longToPtUnlessMinus1(bestPt); }