static void Experiment5Taskv2Performence() { int level = 2; string name = "lenna"; Logger.Info(name); string inputName = $"../../../test_images/{name}.png"; Bitmap input = new Bitmap(inputName); Bitmap output = new Bitmap(input.Width, input.Height, input.PixelFormat); var imageReader = new BitmapReader <int>(input); var mallat = new MallatDecomposition <int, NineSevenBiortogonalInteger <int> >(imageReader).Build(input.Size, level); Logger.Info(mallat.ToString()); var calculator = new MallatEntropyEvaluator <int>(input.Size, level, mallat); var mallatCollector = new MallatMerger <int>(input.Size, level, mallat); var imageWriter = new BitmapWriter <int>(new Bitmap(input.Width, input.Height, System.Drawing.Imaging.PixelFormat.Format32bppRgb), "", mallatCollector); string outputName = $"{inputName}_{mallat.ToString()}.png"; imageWriter.SetImageName(outputName); calculator.DataLength = 3; var sw = System.Diagnostics.Stopwatch.StartNew(); Logger.Info("Sync:"); imageWriter.Process(); Logger.Info($"Time:\t{sw.Elapsed}"); sw.Restart(); Logger.Info("Async v2:"); imageWriter.ProcessAsync(); Logger.Info($"Time:\t{sw.Elapsed}"); }
static void Experiment7() { string name = "barbara"; string folder = "../../../test_images"; string inputName = $"{folder}/{name}.png"; Logger.Info(inputName); Bitmap input = new Bitmap(inputName); Bitmap output1 = new Bitmap(input.Width / 2, input.Height, input.PixelFormat); Bitmap output2 = new Bitmap(input.Width / 2, input.Height, input.PixelFormat); var imageReader = new BitmapReader <int>(input); var d4 = new DaubechiesWaveletD4Integer <int>(imageReader); var imageWriter1 = new BitmapWriter <int>(output1, $"{folder}/Experiment7_barbara_0.png", d4[0]); var imageWriter2 = new BitmapWriter <int>(output1, $"{folder}/Experiment7_barbara_1.png", d4[1]); imageWriter1.ProcessAsync(); imageWriter2.ProcessAsync(); }