Esempio n. 1
0
        private void ValidateAlgorithmParameters(
            List <string> errors,
            Network network,
            Dictionary <string, string> parameters,
            AnalysisAlgorithm algorithm)
        {
            var json = parameters.GetValueOrDefault("parameters");

            if (parameters is null)
            {
                errors.Add("Parameter 'parameters' is required.");
            }
            else
            {
                try
                {
                    var deserialized = JsonConvert.DeserializeObject <Dictionary <string, string> >(json);

                    switch (algorithm)
                    {
                    case AnalysisAlgorithm.FluidC:
                        ValidateFluidC(network, errors, parameters);
                        break;

                    case AnalysisAlgorithm.KClique:
                        break;
                        // TODO: add KCliques
                    }
                }
                catch (Exception)
                {
                    errors.Add("Parameter 'parameters' is not a valid Dictionary<string, string>.");
                }
            }
        }
Esempio n. 2
0
 public static bool IsSingleLayer(this AnalysisAlgorithm algorithm)
 {
     return
         (algorithm == AnalysisAlgorithm.FluidC ||
          algorithm == AnalysisAlgorithm.KClique ||
          algorithm == AnalysisAlgorithm.LabelPropagation ||
          algorithm == AnalysisAlgorithm.Louvain);
 }
Esempio n. 3
0
        public void AnalyzeFrame(ref VideoFrame frame, AnalysisAlgorithm algorithm, BiasAlgorithm bias, int calTop, int calLeft, int calHeight, int calWidth)
        {
            Bias = bias;

            WriteableBitmap bitmap    = new WriteableBitmap(frame.SoftwareBitmap.PixelWidth, frame.SoftwareBitmap.PixelHeight);
            var             converted = SoftwareBitmap.Convert(frame.SoftwareBitmap, BitmapPixelFormat.Bgra8);

            converted.CopyToBuffer(bitmap.PixelBuffer);

            switch (algorithm)
            {
            case AnalysisAlgorithm.MostFrequentColor:
                MostFrequentColor(ref bitmap, calTop, calLeft, calHeight, calWidth);
                break;

            case AnalysisAlgorithm.PureAverage:
                PureAverage(ref bitmap, calTop, calLeft, calHeight, calWidth);
                break;

            case AnalysisAlgorithm.MostFrequentWholeColor:
                MostFrequentWholeColor(ref bitmap, calTop, calLeft, calHeight, calWidth);
                break;
            }
        }
Esempio n. 4
0
 public static bool IsMultiLayer(this AnalysisAlgorithm algorithm)
 {
     return(!IsSingleLayer(algorithm));
 }