static void Main(string[] args) { string descriptorFile = args[0]; string clusteringFile = args[1]; string outputFile = args[2]; int argumentOffset = 3; List <int> layersToExport = new List <int>(); for (int i = argumentOffset; i < args.Length; i++) { layersToExport.Add(int.Parse(args[i]) - 1); // TODO: try-catch } ClusteringAgglomerative clustering = new ClusteringAgglomerative(LoadArrayDescriptors(descriptorFile, clusteringFile)); clustering.Clusterize(layersToExport); foreach (Centroid[] layerCentroids in clustering.Centroids) { string filename = Path.GetFileNameWithoutExtension(outputFile) + "_" + layerCentroids.Length + Path.GetExtension(outputFile); WriteToTextFile(layerCentroids, filename); } }
public void VisualizeAgglomerative() { int nDescriptors = 100; int descriptorDimension = 2; int nDescriptorsDiv5 = nDescriptors / 5; Descriptor[] descriptors = HelperTestClass.GenerateHierarchicalDescriptors(seed, nDescriptorsDiv5, descriptorDimension); ClusteringAgglomerative clustering = new ClusteringAgglomerative(descriptors); clustering.Clusterize(); HelperTestClass.TestDescriptorAssignment(descriptors.Length, clustering.Centroids[0]); HelperTestClass.VisualizeClustering(clustering.Descriptors, clustering.Centroids[23], windowSize, windowSize); }
static void Main(string[] args) { int seed = 5334; int windowSize = 720; int nDescriptors = 1000; int descriptorDimension = 2; int nClusters = 100; int iterationCount = 10; //int nDescriptors = 350000; //int descriptorDimension = 4096; //int nClusters = 25;// 128; //int iterationCount = 10; int nDescriptorsDiv5 = nDescriptors / 5; Descriptor[] descriptors = HelperTestClass.GenerateHierarchicalDescriptors(seed, nDescriptorsDiv5, descriptorDimension); //ClusteringSimple clustering = new ClusteringSimple(descriptors); //clustering.Clusterize(nClusters, iterationCount, seed); ClusteringAgglomerative clustering = new ClusteringAgglomerative(descriptors); //clustering.Clusterize(new List<int> { 0, 1, 3, 7, 15, 31, 63, 127, 255, 511 }); clustering.Clusterize(); //HelperTestClass.VisualizeClustering(clustering.Descriptors, clustering.Centroids[0], windowSize, windowSize); //for (int i = clustering.Centroids.Length - 1; i > 0; i--) //{ // HelperTestClass.VisualizeClustering(clustering.Descriptors, clustering.Centroids[i], windowSize, windowSize); //} HelperTestClass.SaveClustering(clustering.Descriptors, clustering.Centroids, windowSize, windowSize, "clustering"); //int resolution = 20; //for (int i = clustering.Centroids.Length - 1; i > 0; i -= clustering.Centroids.Length / resolution) //{ // HelperTestClass.VisualizeClustering(clustering.Descriptors, clustering.Centroids[i], windowSize, windowSize); //} }