Exemple #1
0
 public DynamicBins(DynamicHist dynamicHist, Thor model)
 {
     InitializeComponent();
     _dynHist          = dynamicHist;
     _model            = model;
     checkBox1.Checked = true;
     if (UsesStatic(_dynHist))
     {
         tableLayoutPanel3.Enabled = false;
     }
     else
     {
         tableLayoutPanel2.Enabled = false;
     }
 }
        public BinPairCollection GetBinCollection(double[] first, double[] second, DynamicHist dynamicHist,
                                                  int currentEvolution)
        {
            var firstHisto  = new Histogram();
            var secondHisto = new Histogram();

            if (dynamicHist.StartBins != 0 && dynamicHist.EndBins != 0)
            {
                var size = dynamicHist.GetBinSize(currentEvolution);
                firstHisto.Compute(first, size);
                secondHisto.Compute(second, size);
                //_firstBins = firstHisto.Bins;
                //_secondBins = secondHisto.Bins;
                return(new BinPairCollection {
                    First = firstHisto.Bins, Second = secondHisto.Bins
                });
            }

            if (dynamicHist.UseCustomStatic)
            {
                firstHisto.Compute(first, dynamicHist.CustomStaticSize);
                secondHisto.Compute(second, dynamicHist.CustomStaticSize);
                //_firstBins = firstHisto.Bins;
                //_secondBins = secondHisto.Bins;
                return(new BinPairCollection {
                    First = firstHisto.Bins, Second = secondHisto.Bins
                });
            }

            if (dynamicHist.UseScott)
            {
                firstHisto.AutoAdjustmentRule  = BinAdjustmentRule.Scott;
                secondHisto.AutoAdjustmentRule = BinAdjustmentRule.Scott;
            }
            if (dynamicHist.UseSturges)
            {
                firstHisto.AutoAdjustmentRule  = BinAdjustmentRule.Sturges;
                secondHisto.AutoAdjustmentRule = BinAdjustmentRule.Sturges;
            }
            firstHisto.Compute(first);
            secondHisto.Compute(second);
            return(new BinPairCollection {
                First = firstHisto.Bins, Second = secondHisto.Bins
            });
            //_firstBins = firstHisto.Bins;
            //_secondBins = secondHisto.Bins;
        }
        public BinnedDistance(Distribution first, Distribution second, DynamicHist dynamicHist, int currentEvolution)
        {
            var firstHisto  = new Histogram();
            var secondHisto = new Histogram();

            if (dynamicHist.StartBins != 0 && dynamicHist.EndBins != 0)
            {
                var size = dynamicHist.GetBinSize(currentEvolution);
                firstHisto.Compute(first.Values, size);
                secondHisto.Compute(second.Values, size);
                _firstBins  = firstHisto.Bins;
                _secondBins = secondHisto.Bins;
                return;
            }

            if (dynamicHist.UseCustomStatic)
            {
                firstHisto.Compute(first.Values, dynamicHist.CustomStaticSize);
                secondHisto.Compute(second.Values, dynamicHist.CustomStaticSize);
                _firstBins  = firstHisto.Bins;
                _secondBins = secondHisto.Bins;
                return;
            }

            if (dynamicHist.UseScott)
            {
                firstHisto.AutoAdjustmentRule  = BinAdjustmentRule.Scott;
                secondHisto.AutoAdjustmentRule = BinAdjustmentRule.Scott;
            }
            if (dynamicHist.UseSturges)
            {
                firstHisto.AutoAdjustmentRule  = BinAdjustmentRule.Sturges;
                secondHisto.AutoAdjustmentRule = BinAdjustmentRule.Sturges;
            }
            firstHisto.Compute(first.Values);
            secondHisto.Compute(second.Values);
            _firstBins  = firstHisto.Bins;
            _secondBins = secondHisto.Bins;
        }
Exemple #4
0
 private static bool UsesStatic(DynamicHist hist)
 {
     return(hist.UseSquareRoot || hist.UseCustomStatic || hist.UseScott || hist.UseSturges);
 }