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