public WindowMapClusteringView(IGenomeDecoder <NeatGenome, IBlackBox> genomeDecoder, IMapClusteringDataset dataset, WindowMapClusteringEvaluator evaluator, int nbClusters) : this() { this.dataset = dataset; this.nbClusters = nbClusters; this.decoder = genomeDecoder; this.evaluator = evaluator; samples = dataset.GetSamplesMatrix(); outputs = new double[nbClusters, samples.GetLength(1), samples.GetLength(2)]; inputView.LabelName = "Input"; outputView.LabelName = "Output"; inputView.SetDimensions(samples.GetLength(0), samples.GetLength(1), samples.GetLength(2)); outputView.SetDimensions(nbClusters, samples.GetLength(1), samples.GetLength(2)); maxValue = 0.0; for (var i = 0; i < samples.GetLength(0); i++) { for (var j = 0; j < samples.GetLength(1); j++) { for (var k = 0; k < samples.GetLength(2); k++) { var value = samples[i, j, k]; if (value > maxValue) { maxValue = value; } } } } maxValue *= 2; // margin inputView.OnClusterChanged += (id) => { currentInputIdx = id; RefreshInput(); }; outputView.OnClusterChanged += (id) => { currentClusterIdx = id; RefreshOutput(); }; RefreshInput(); }
public WindowMapClusteringView(IGenomeDecoder<NeatGenome, IBlackBox> genomeDecoder, IMapClusteringDataset dataset, WindowMapClusteringEvaluator evaluator, int nbClusters) : this() { this.dataset = dataset; this.nbClusters = nbClusters; this.decoder = genomeDecoder; this.evaluator = evaluator; samples = dataset.GetSamplesMatrix(); outputs = new double[nbClusters, samples.GetLength(1), samples.GetLength(2)]; inputView.LabelName = "Input"; outputView.LabelName = "Output"; inputView.SetDimensions(samples.GetLength(0), samples.GetLength(1), samples.GetLength(2)); outputView.SetDimensions(nbClusters, samples.GetLength(1), samples.GetLength(2)); maxValue = 0.0; for (var i = 0; i < samples.GetLength(0); i++) { for (var j = 0; j < samples.GetLength(1); j++) { for (var k = 0; k < samples.GetLength(2); k++) { var value = samples[i, j, k]; if (value > maxValue) maxValue = value; } } } maxValue *= 2; // margin inputView.OnClusterChanged += (id) => { currentInputIdx = id; RefreshInput(); }; outputView.OnClusterChanged += (id) => { currentClusterIdx = id; RefreshOutput(); }; RefreshInput(); }