public List <AnalysisResult> Analyze(Bitmap emptyContainer, Bitmap fullContainer)
        {
            var results = new List <AnalysisResult>()
            {
                new AnalysisResult()
                {
                    Name  = "Empty",
                    Image = emptyContainer
                },
                new AnalysisResult()
                {
                    Name  = "Full",
                    Image = fullContainer
                },
            };
            var diff = new AnalysisResult()
            {
                Name  = "Diff",
                Image = CalculateDiff(emptyContainer, fullContainer)
            };
            var normalizer = new Normalyzer();
            var normDiff   = new AnalysisResult()
            {
                Name  = "DiffNormalized",
                Image = normalizer.Normalize(diff.Image)
            };

            results.Add(diff);
            results.Add(normDiff);
            return(results);
        }
        public List <AnalysisResult> Analyze(IEncoder encoder)
        {
            var results = new List <AnalysisResult>()
            {
                new AnalysisResult()
                {
                    Name  = "Red",
                    Image = encoder.Encode(Text, CreateContainer(Color.FromArgb(255, 255, 0, 0)))
                },
                new AnalysisResult()
                {
                    Name  = "Green",
                    Image = encoder.Encode(Text, CreateContainer(Color.FromArgb(255, 0, 255, 0)))
                },
                new AnalysisResult()
                {
                    Name  = "Blue",
                    Image = encoder.Encode(Text, CreateContainer(Color.FromArgb(255, 0, 0, 255)))
                },
                new AnalysisResult()
                {
                    Name  = "Black",
                    Image = encoder.Encode(Text, CreateContainer(Color.FromArgb(255, 0, 0, 0)))
                },
                new AnalysisResult()
                {
                    Name  = "White",
                    Image = encoder.Encode(Text, CreateContainer(Color.FromArgb(255, 255, 255, 255)))
                },
                new AnalysisResult()
                {
                    Name  = "Gray",
                    Image = encoder.Encode(Text, CreateContainer(Color.Gray))
                },
                new AnalysisResult()
                {
                    Name  = "CornflowerBlue",
                    Image = encoder.Encode(Text, CreateContainer(Color.CornflowerBlue))
                }
            };
            var normalizer = new Normalyzer();
            var normalized = results.Select(r => new AnalysisResult()
            {
                Name = "NORM_" + r.Name, Image = normalizer.Normalize(r.Image)
            });

            return(results.Concat(normalized).ToList());
        }