Algorithmix.UnitTest.OcrTest.OcrParallelizationExperiment C# (CSharp) Method

OcrParallelizationExperiment() private method

private OcrParallelizationExperiment ( ) : void
return void
        public void OcrParallelizationExperiment()
        {
            // Init Drive
            var relpath = Path.Combine(Dir.OcrDirectory, Dir.OcrParallelizationTesting);
            var drive = new Drive(relpath, Drive.Reason.Read);
            var regs = drive.Files("reg").ToList();
            var revs = drive.Files("rev").ToList();

            // Sort to ensure correct pairing
            regs.Sort();
            revs.Sort();

            // Concatenate and Recognize
            var images = regs.Concat(revs).Select(path => new Bitmap(path)).ToList();
            int revStart = regs.Count;
            var datas = new List<OcrData>(OCR.ParallelRecognize(images, images.Count(), Accuracy.Low, "eng", true));
            var regdata = datas.Take(revStart);
            var revdata = datas.Skip(revStart);

            var difference = regdata.Zip(revdata, (reg, rev) =>
                {
                    Console.WriteLine("-----------------------------------------------");
                    Console.WriteLine(OCR.StripNewLine(reg.Text + " vs " + rev.Text));
                    Console.WriteLine(reg.Cost + " vs " + rev.Cost);
                    Console.WriteLine("Diff: " + (reg.Cost - rev.Cost));
                    Console.WriteLine("scantime: " + reg.ScanTime + "ms and " + rev.ScanTime + "ms");
                    Console.WriteLine();
                    return reg.Cost - rev.Cost;
                }).ToList();

            difference.ForEach(diff => Assert.IsTrue(diff < 0));
        }