Warning: session_start(): open(/var/lib/php/sessions/sess_m2r2q20toi5mi242gg9a0633vm, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
cmodule PipelinedRecognizer > DynImageSurface {
transient ChessOCR_Pipeline activePipeline;
transient JTable tblBoardsFound;
transient ChessPieceRecognizer pieceRecognizer;
transient ReliableSingleThread rst = dm_rst(module(), r newRecognition);
start {
if (!hasImage()) setImage(whiteImage(100));
onNewImage = rst;
rst.trigger();
}
void newRecognition {
dispose activePipeline;
if (!hasImage()) ret;
new ChessOCR_Pipeline pipeline;
pipeline.inputImage = getImage();
if (pieceRecognizer == null)
pieceRecognizer = chessOCR_pieceRecognizer();
pipeline.pieceRecognizer = pieceRecognizer;
pipeline.boardsFound.onChange.add(r updateTable);
activePipeline = pipeline;
pipeline.addSegmenter(parameterizedSegmenterFromAGIBlue("GingerGM fullscreen find chess board #1"));
}
void updateTable {
dataToTable(tblBoardsFound, sortedByMapElementDesc Score(map(activePipeline.boardsFound.byFEN,
(fen, data) -> litorderedmap("Score" := formatDouble(data.bestScore, 2), "FEN" := fen, "Position" := strOrNull(data.bestPosition)))));
}
visual jvsplit(super,
jCenteredSection("Boards found", tblBoardsFound = sexyTable()));
}