public IClusterer <T, U> Create(GenericClusteringAlgorithmType clusterType) { IClusterer <T, U> clusterer = null; switch (clusterType) { case GenericClusteringAlgorithmType.AverageLinkage: clusterer = new UMCAverageLinkageClusterer <T, U>(); break; case GenericClusteringAlgorithmType.Centroid: clusterer = new UMCCentroidClusterer <T, U>(); break; case GenericClusteringAlgorithmType.SingleLinkage: clusterer = new UMCSingleLinkageClusterer <T, U>(); break; case GenericClusteringAlgorithmType.Prims: clusterer = new UMCPrimsClustering <T, U>(); break; case GenericClusteringAlgorithmType.BinarySearchTree: clusterer = new Clustering.MsFeatureTreeClusterer <T, U>(); break; default: throw new ArgumentOutOfRangeException(string.Format("Cannot create generic {0} clusterer.", clusterType)); } return(clusterer); }
public static IClusterer<UMCLight, UMCClusterLight> Create(LcmsFeatureClusteringAlgorithmType clusterType) { IClusterer<UMCLight, UMCClusterLight> clusterer = null; switch (clusterType) { case LcmsFeatureClusteringAlgorithmType.AverageLinkage: clusterer = new UMCAverageLinkageClusterer<UMCLight, UMCClusterLight>(); break; case LcmsFeatureClusteringAlgorithmType.Centroid: clusterer = new UMCCentroidClusterer<UMCLight, UMCClusterLight>(); break; case LcmsFeatureClusteringAlgorithmType.SingleLinkage: clusterer = new UMCSingleLinkageClusterer<UMCLight, UMCClusterLight>(); break; case LcmsFeatureClusteringAlgorithmType.Prims: clusterer = new UMCPrimsClustering<UMCLight, UMCClusterLight>(); break; } return clusterer; }