public void Initialize(IGenomeDecoder <NeatGenome, IBlackBox> genomeDecoder, IMapClusteringDataset dataset, MapClusteringEvaluator evaluator, int nbClusters)
        {
            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)];
            this.nbInputs = samples.GetLength(0);

            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
        }
 public MapClusteringScatterPlotView(IGenomeDecoder <NeatGenome, IBlackBox> genomeDecoder, IMapClusteringDataset dataset, MapClusteringEvaluator evaluator, int nbClusters)
     : this()
 {
     Initialize(genomeDecoder, dataset, evaluator, nbClusters);
 }