sclass ChessPieceRecognizer { LPair images; void load { long time = sysNow(); images = mapPairsA loadBWImage(chessPieceImagesFromAGIBlue()); done2("Loading " + n2(images, "piece image"), time); } Pair recognize(BufferedImage img) { ret recognize(BWImage(img)); } Pair recognize(BWImage img) { new Best best; for (unpair BWImage pieceImg, S piece : images) { best.put(piece, bwImageSimilarityResized_ignoreRatioMismatch(img, pieceImg, best.score())); } ret best.pair(); } }