// returns best point static Pt bwSpiralSearch(BWImage proto, IBWImage img, double instantWinThreshold default 2) { float best = -1; long bestPt = -1; int leewayX = img.getWidth()-proto.getWidth(); int leewayY = img.getHeight()-proto.getHeight(); LongIterator it = pixelSpiral_longIterator(leewayX, leewayY); while (it.hasNext()) { long xy = it.next(); int x = firstIntFromLong(xy), y = secondIntFromLong(xy); float sim = bwImageSectionsSimilarity2(img, proto, x, y, best); //print(x + "/" + y + ": " + sim); if (sim >= instantWinThreshold) ret longToPt(xy); if (sim >= best) { bestPt = xy; best = sim; } } ret longToPtUnlessMinus1(bestPt); }