public AnalysisResult Analyze(Network network, Dictionary <string, string> parameters) { var communities = Algorithm.Apply(network); return(new AnalysisResult { ActorToCommunity = AnalysisHelper.ActorToCommunity(network.Actors, communities), AnalyzedNetworkEdgeList = AnalysisHelper.EdgeList(network), CommunityList = AnalysisHelper.CommunityList(network.Actors, communities), Coverage = AnalysisHelper.Coverage(network, communities), Performance = AnalysisHelper.Performance(network, communities), Modularity = AnalysisHelper.Modularity(network, communities) }); }
public AnalysisResult Analyze(Network network, Dictionary <string, string> parameters) { var errors = ValidateParameters(network, parameters); if (errors.Count > 0) { // TODO: custom exception throw new ArgumentException(string.Join('\n', errors)); } var k = int.Parse(parameters["k"]); var communities = Algorithm.GetKCommunities(network, k); return(new AnalysisResult { ActorToCommunity = AnalysisHelper.ActorToCommunity(network.Actors, communities), AnalyzedNetworkEdgeList = AnalysisHelper.EdgeList(network), CommunityList = AnalysisHelper.CommunityList(network.Actors, communities), Coverage = AnalysisHelper.Coverage(network, communities), Performance = AnalysisHelper.Performance(network, communities), Modularity = AnalysisHelper.Modularity(network, communities) }); }