Ejemplo n.º 1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var configService       = new GlobalConfigService();
            var globalConfig        = configService.LoadConfig(Configuration);
            var userSessionsManager = new UserSessionsManager();

            var labelsService    = new LabelSorterService();
            var histogramService = new HistogramSorterService();

            var imageLabelsPath     = Configuration["FilePaths:ImageLabelsPath"];
            var colorHistogramsPath = Configuration["FilePaths:ColorHistogramFiles"];

            var imageLabelsWrapper = new LoadedImageLabelsWrapper(labelsService.ParseLabels(imageLabelsPath));
            var histogramsWrapper  = new LoadedHistogramsWrapper(histogramService.ParseHistograms(colorHistogramsPath));

            services.AddSingleton(globalConfig);
            services.AddSingleton(configService);
            services.AddSingleton(userSessionsManager);
            services.AddSingleton(labelsService);
            services.AddSingleton(histogramService);
            services.AddSingleton(imageLabelsWrapper);
            services.AddSingleton(histogramsWrapper);

            services.AddRazorPages();
        }
 public ImagePresentation(
     GlobalConfig globalConfig,
     UserSessionsManager userSessionsManager,
     LoadedImageLabelsWrapper imageLabelsWrapper,
     LoadedHistogramsWrapper histogramsWrapper,
     LabelSorterService labelSorterService,
     HistogramSorterService histogramSorterService
     )
 {
     _globalConfig           = globalConfig;
     _userSessionsManager    = userSessionsManager;
     _imageLabelsWrapper     = imageLabelsWrapper;
     _histogramsWrapper      = histogramsWrapper;
     _labelSorterService     = labelSorterService;
     _histogramSorterService = histogramSorterService;
 }
Ejemplo n.º 3
0
        public void CorrectParseLabelsTest()
        {
            var labelService = new LabelSorterService();

            // Get the directory in which the test files are contained.
            var pathToHistogramFiles = $"{Directory.GetCurrentDirectory()}/../../../{TestFilesFolder}";

            var parseOutput = labelService.ParseLabels(pathToHistogramFiles);

            var testFileNames =
                Directory
                .GetFiles(pathToHistogramFiles)
                .Select(Path.GetFileNameWithoutExtension)
                .ToList();

            var imageIds =
                parseOutput
                .Select(imageLabels => imageLabels.ImageId)
                .ToList();

            Assert.True(testFileNames.Count == NumberOfHistogramsInTestFolder);
            Assert.True(testFileNames.Count == parseOutput.Count);
            foreach (var testFileName in testFileNames)
            {
                Assert.Contains(testFileName, imageIds);
            }

            try
            {
                var testImageLabels = parseOutput.Find(imageLabels => imageLabels.ImageId == TestImageId);
                Assert.True(testImageLabels?.LabelValues.Count == NumberOfTestLabels);
            }
            catch (NullReferenceException)
            {
                Assert.True(false);
            }
            catch (Exception)
            {
                Assert.True(false);
            }
        }
        public void CorrectGetTopNTest()
        {
            var labelSorterService = new LabelSorterService();

            var labelValues = new Dictionary <string, double>
            {
                ["car"]   = 0.1,
                ["dark"]  = 0.2,
                ["wheel"] = 0.3,
                ["sky"]   = 0.4
            };

            var imageLabels = new ImageLabels(
                "randomId1",
                labelValues
                );

            var top2LabelValues = labelSorterService.GetTopNLabels(2, imageLabels);

            Assert.True(top2LabelValues.Count == 2);
            Assert.True(top2LabelValues[0] == "sky");
            Assert.True(top2LabelValues[1] == "wheel");
        }