Exemple #1
0
        //przekazanie argumentów i puszczenie próbnych funkcji
        private static void Run(Configuration config)
        {
            //przekazanie wczytanej bitmapy
            Bitmap bitmap = new Bitmap(config.InputPath);
            //co to za kolekcja??
            Dictionary <int, IList <TimeSpan> > results;
            //przekazujemy parametry a metoda zwraca nam odpowedni filtrm getter dla filtru
            IParallelGaussianFilter filter = GetFilter(Assembly);

            //ustawienie przekazanych wartosci
            filter.Sigma = config.Sigma;
            results      = RunFilter(filter, bitmap, config.MaxThreadsCount, config.IterationCount);
            SaveResults(config, bitmap, results, Assembly);

            filter       = GetFilter(HL);
            filter.Sigma = config.Sigma;
            results      = RunFilter(filter, bitmap, config.MaxThreadsCount, config.IterationCount);
            SaveResults(config, bitmap, results, HL);
        }
Exemple #2
0
        private static Dictionary <int, IList <TimeSpan> > RunFilter(IParallelGaussianFilter filter, Bitmap bitmap, int maxThreadsCount, int iterationCount)
        {
            Dictionary <int, IList <TimeSpan> > results = new Dictionary <int, IList <TimeSpan> >();

            //wykonujemy operacje na 1,2,3...,maxThreadsCount wątkach
            for (int i = 1; i <= maxThreadsCount; i++)
            {
                Console.WriteLine($"Thread count: {i}");
                results.Add(i, new List <TimeSpan>(iterationCount));
                //i liczba współbierznych procesów obsługująca dany proces
                filter.ParallelOptions.MaxDegreeOfParallelism = i;

                // for (int j = 0; j < iterationCount; j++)
                //  {

                bitmap = filter.ApplyFilter(bitmap);
                //czas operacji filtru
                results[i].Add(filter.Measurement);
                // }
            }
            bitmap.Save(@"C:\Users\kazim\Desktop\Studia\JA\Projekt\Źródła\Statystyk\Image2.bmp", ImageFormat.Bmp);
            return(results);
        }