コード例 #1
0
        public void FiltrUnitTests(JObject spec, JObject data, JObject expected)
        {
            Filtr shiftr = new Filtr(spec);
            var   actual = shiftr.Transform(data);

            actual.Should().BeEquivalentTo(expected);
        }
コード例 #2
0
        public void RunTest(string testCaseName)
        {
            var   testCase = GetTestCase($"filtr/{testCaseName}");
            Filtr filtr    = new Filtr(testCase.Spec);
            var   actual   = filtr.Transform(testCase.Input);

            actual.Should().BeEquivalentTo(testCase.Expected);
        }
コード例 #3
0
 private void button_Filter_minmax_Click(object sender, EventArgs e)
 {
     //Filtruje dane sygnatury za pomocą filtru minmax
     odswiez_parametry_filtru();
     wybrany_filtr = filtr_min_max;
     filtruj_tabele(ref tabela_promieni, wybrany_filtr, parametry_filtru);
     czysc_obraz(image_PB3, pictureBox3);
     namaluj_dane_z_tabeli(tabela_promieni, null, new MCvScalar(255, 0, 0), TrybRysowania.TYLKO_DANE);
 }
コード例 #4
0
        private void filtruj_tabele(ref double[] rays, Filtr filtr, FilterParams param)
        {
            double[] input = new double[rays.Length];
            for (int i = 0; i < rays.Length; i++)
            {
                input[i] = rays[i];
            }

            for (int i = 0; i < rays.Length; i++)
            {
                param.index = i;
                rays[i]     = filtr(input, param);
            }
        }
コード例 #5
0
        public void NumberFilteringTest()
        {
            List <int> listOfNumbers = new List <int>()
            {
                51, 14, 5
            };
            int        digitInclude = 1;
            List <int> expected     = new List <int>()
            {
                51, 14
            };

            List <int> actual = Filtr.NumberFiltering(listOfNumbers, digitInclude);

            Assert.ReferenceEquals(expected, actual);
        }
コード例 #6
0
        private void button_Filter_binary_Click(object sender, EventArgs e)
        {
            //Filtruje dane sygnatury za pomocą filtru binarnego. Wymaga wcześniejszego
            //uśrednienia danych sygnatury
            odswiez_parametry_filtru();

            if (parametry_filtru.binary_thresh == null)
            {
                MessageBox.Show("Przed zastosowaniem filtru binarnego należy usrednić sygnaturę");
                return;
            }
            wybrany_filtr = filtr_binarny;
            filtruj_tabele(ref tabela_promieni, wybrany_filtr, parametry_filtru);
            if (checkBo_Binary_dont_clr.Checked)
            {
                namaluj_dane_z_tabeli(tabela_promieni, null, new MCvScalar(0, 255, 255), TrybRysowania.TYLKO_DANE);
            }
            else
            {
                czysc_obraz(image_PB3, pictureBox3);
                namaluj_dane_z_tabeli(tabela_promieni, null, new MCvScalar(255, 0, 0), TrybRysowania.TYLKO_DANE);
            }
        }
コード例 #7
0
        static void Main(string[] args)
        {
            //zadanie3.2

            string[,] movies = new string[2, 4] {
                { "Wielkie piękno", "Django", "Podróż czerwonego balonika", "Człowiek z kamerą filmową" },
                { "Juste a la fin du monde", "Ojciec chrzestny", "Buena Vista Social Club", "Rejs" }
            };


            for (int i = 0; i < movies.GetLength(0); i++)
            {
                for (int j = 0; j < movies.GetLength(1); j++)
                {
                    Console.WriteLine(movies[i, j]);
                }
            }

            Console.ReadLine();



            //zadanie3.2 v.1


            string[,] films;
            films       = new string[2, 4];
            films[0, 0] = "Wielkie piękno";
            films[0, 1] = "Django";
            films[0, 2] = "Podróż czerwonego balonika";
            films[0, 3] = "Człowiek z kamerą filmową";
            films[1, 0] = "Juste a la fin du monde";
            films[1, 1] = "Ojciec chrzestny";
            films[1, 2] = "Buena Vista Social Club";
            films[1, 3] = "Rejs";


            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    Console.WriteLine(films[i, j]);
                }
            }
            Console.ReadLine();


            //zadanie3.1
            Filtr f1 = new Filtr();

            f1.Logic = "x";
            FiltrItem fi1 = new FiltrItem();

            fi1.Field = "y";
            fi1.Value = "c";
            f1.Item   = fi1;

            Filtr f2 = new Filtr();

            f2.Logic = "dr";
            FiltrItem fi2 = new FiltrItem();

            fi2.Value = "kr";
            fi2.Field = "sr";
            f2.Item   = fi2;

            Filtr f3 = new Filtr();

            f3.Logic = "baa";
            FiltrItem fi3 = new FiltrItem();

            fi3.Value = "raa";
            fi3.Field = "saa";
            f3.Item   = fi3;

            Filtr f4 = new Filtr();

            f4.Logic = "po";
            f4.Item  = new FiltrItem()
            {
                Field = "bar", Value = "ack"
            };


            //string[] Filtr = new string [3]{};
            Filtr[] tablica;
            tablica    = new Filtr[4];
            tablica[0] = f1;
            tablica[1] = f2;
            tablica[2] = f3;
            tablica[3] = f4;

            for (int y = 0; y < tablica.Length; y++)
            {
                Console.WriteLine(tablica[y].Logic);
                Console.WriteLine(tablica[y].Item.Value);
                Console.WriteLine(tablica[y].Item.Field);
                Array.Reverse(tablica);
            }
            Console.ReadLine();
        }
コード例 #8
0
        private void GenerujFiltr_Click(object sender, RoutedEventArgs e)
        {
            Baza.Series.Clear();

            int    rzad                 = int.Parse(RzadFiltru.Text);
            double czestotliwosc        = double.Parse(Czestotliwosc.Text);
            double czestotliwoscNiskie  = double.Parse(CzestotliwoscNiskie.Text);
            double czestotliwoscWysokie = double.Parse(CzestotliwoscWysokie.Text);

            string okno = Okna.SelectedItem.ToString();
            Filtr  f    = null;
            Okno   o    = null;

            if (okno == "Hamming")
            {
                o = new Hamming();
            }
            if (okno == "Hanning")
            {
                o = new Hanning();
            }
            if (okno == "Blackman")
            {
                o = new Blackman();
            }

            string filtr = Filtry.SelectedItem.ToString();

            if (filtr == "Dolnoprzepustowy")
            {
                f = new FiltrDolnoprzepustowy(o, rzad, czestotliwoscNiskie, czestotliwosc);
            }
            if (filtr == "Górnoprzepustowy")
            {
                f = new FiltrGornoprzepustowy(o, rzad, czestotliwoscWysokie, czestotliwosc);
            }
            if (filtr == "Pasmowy")
            {
                f = new FiltrPasmowy(o, rzad, czestotliwoscNiskie, czestotliwoscWysokie, czestotliwosc);
            }

            sp = new SygnalPochodny(f.getFilter(), rzad, 0, 1);

            double odstep = 10 / double.Parse(rzad.ToString());

            for (double i = 0; i < 10; i += odstep)
            {
                sp.x.Add(i);
            }

            ScatterSeries mySeries = new ScatterSeries();

            mySeries.Title = "Filtr";
            mySeries.IndependentValueBinding = new Binding("Key");
            mySeries.DependentValueBinding   = new Binding("Value");

            var p = new List <KeyValuePair <double, double> >();

            for (int i = 0; i < sp.x.Count; i++)
            {
                p.Add(new KeyValuePair <double, double>(sp.x[i].Real, sp.y[i].Real));
            }

            mySeries.ItemsSource = p;
            Baza.Series.Add(mySeries);
        }