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>."); } } }
public static bool IsSingleLayer(this AnalysisAlgorithm algorithm) { return (algorithm == AnalysisAlgorithm.FluidC || algorithm == AnalysisAlgorithm.KClique || algorithm == AnalysisAlgorithm.LabelPropagation || algorithm == AnalysisAlgorithm.Louvain); }
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; } }
public static bool IsMultiLayer(this AnalysisAlgorithm algorithm) { return(!IsSingleLayer(algorithm)); }