Пример #1
0
        public void SłownikEtykiet_ShouldReturnLabelAsBinaryArray()
        {
            var etykiety = new SłownikEtykiet();

            for (int i = 0; i < 10; i++)
            {
                etykiety.Dodaj(i.ToString(), i);
            }
            for (int i = 0; i < 10; i++)
            {
                var label = etykiety.LabelToBinaryArray(i.ToString());
                label.Count().ShouldBe(10);
                for (int j = 0; j < 10; j++)
                {
                    if (i == j)
                    {
                        label.ElementAt(j).ShouldBe(1);
                    }
                    else
                    {
                        label.ElementAt(j).ShouldBe(0);
                    }
                }
            }
        }
Пример #2
0
        public void SłownikEtykiet_ShouldNotBeEmpty()
        {
            var etykiety = new SłownikEtykiet();

            etykiety.Dodaj("I", 0);
            etykiety.Etykiety.ShouldHaveSingleItem();
        }
Пример #3
0
        public void FeatureWriter_ShouldNotShowFile()
        {
            var labels = new SłownikEtykiet();
            var writer = new FeatureWriter(labels);

            writer.Labels.ShouldBeSameAs(labels);
            writer.ShowFile.ShouldBeFalse();
        }
Пример #4
0
        public void SłownikEtykiet_ShouldBeReadFromFile()
        {
            var etykiety = SłownikEtykiet.Wczytaj(@"Samples\Labels.txt");

            etykiety.Etykiety.Count().ShouldBe(19);
            var join = string.Join("", etykiety.Etykiety);

            join.ShouldBe("ABDGIMOPEPGPIPKPKLSSPSTTWZZG");
        }
Пример #5
0
        public void SłownikEtykiet_ShouldAllowOnlyUniqueValues()
        {
            var etykiety = new SłownikEtykiet();

            etykiety.Dodaj("I", 0);
            Should.Throw <InvalidOperationException>(() =>
            {
                etykiety.Dodaj("B", 0);
            });
        }
Пример #6
0
        public void SłownikEtykiet_ShouldBeOrderedByIndeks()
        {
            var etykiety = new SłownikEtykiet();

            etykiety.Dodaj("B", 1);
            etykiety.Dodaj("A", 0);
            etykiety.Etykiety.Count().ShouldBe(2);
            var first = etykiety.Etykiety.First();
            var last  = etykiety.Etykiety.Last();

            first.ShouldBe("A");
            last.ShouldBe("B");
        }
Пример #7
0
        public void SłownikEtykiet_ShouldAutoLabelFiles()
        {
            var etykiety = SłownikEtykiet.AutoLabel(new[] {
                @"0_A.txt",
                @"1_B.txt",
                @"0_A.txt",
                @"1_C.txt",
                @"2_C.txt",
            });

            etykiety.Etykiety.Count().ShouldBe(3);
            var join = string.Join("", etykiety.Etykiety);

            join.ShouldBe("ABC");
        }
Пример #8
0
        public void LabelWriter_ShouldExportLabelsToFile()
        {
            var files = Directory.GetFiles("Samples", "*.png");

            files.Length.ShouldBe(2);
            var labels = SłownikEtykiet.AutoLabel(files);

            labels.Etykiety.Count().ShouldBe(2);
            var writer  = new LabelWriter(labels);
            var records = writer.Zapisz("Labels.txt", files);

            records.Count().ShouldBe(2);
            var first = records.First();

            first.ShouldStartWith("I: 1");
            var last = records.Last();

            last.ShouldStartWith("X: 1");
            File.Exists("Labels.txt").ShouldBe(true);
        }
Пример #9
0
        void EtykietujPliki(string folder, string labelsPath = null)
        {
            var files  = Directory.GetFiles(folder, "*.png", SearchOption.AllDirectories);
            var labels = new SłownikEtykiet();

            if (File.Exists(labelsPath))
            {
                Console.WriteLine("Wczytywanie słownika etykiet z pliku " + labelsPath);
                labels = SłownikEtykiet.Wczytaj(labelsPath);
            }
            else
            {
                Console.WriteLine("Generowanie słownika etykiet z " + files.Length + " plik(i)...");
                labels = SłownikEtykiet.AutoLabel(files);
            }
            Console.WriteLine("Etykiety: {0}", labels.Etykiety.Count());
            foreach (var e in labels.Etykiety)
            {
                Console.WriteLine(e + ": " + string.Join(",", labels.LabelToBinaryArray(e)));
            }
            var fileName = "LabelFeatures_T" + DateTime.Now.ToShortDateString() + ".txt";

            Console.WriteLine("Etykietowanie " + files.Length + " plików -> " + fileName);
            var writer = new FeatureWriter(labels)
            {
                UseColor = Settings.Default.Color
            };

            writer.Zapisz(fileName, files);
            var labelsWriter = new LabelWriter(labels);
            var labelPath    = "LabelFeatures_LabelsT" + DateTime.Now.ToShortDateString() + ".txt";

            Console.WriteLine("Eksportowanie etykiet do pliku -> " + labelPath);
            var records = labelsWriter.Zapisz(labelPath, files);

            foreach (var record in records)
            {
                Console.WriteLine(record);
            }
        }
Пример #10
0
        public void SłownikEtykiet_ShouldBeEmpty()
        {
            var etykiety = new SłownikEtykiet();

            etykiety.Etykiety.ShouldBeEmpty();
        }