public void AddFolder()
        {
            var dlg = new CommonOpenFileDialog();

            dlg.Title                   = "Choose Folder";
            dlg.IsFolderPicker          = true;
            dlg.AllowNonFileSystemItems = true;
            dlg.EnsurePathExists        = true;
            dlg.EnsureReadOnly          = false;
            dlg.EnsureValidNames        = true;
            dlg.Multiselect             = false;
            dlg.ShowPlacesList          = true;
            //dlg.Filters.Add(new CommonFileDialogFilter("Balance File Format", "xml"));

            if (dlg.ShowDialog() == CommonFileDialogResult.Ok)
            {
                MainAnalysisObject ma = new MainAnalysisObject();
                ma.Initialise(dlg.FileName);

                DC.AddAnalysisObject(ma);
                ResetGraph();
            }

            this.Focus();
        }
        void listbox1_Drop(object sender, DragEventArgs e)
        {
            MainAnalysisObject droppedData = e.Data.GetData(typeof(MainAnalysisObject)) as MainAnalysisObject;
            MainAnalysisObject target      = ((ListBoxItem)(sender)).DataContext as MainAnalysisObject;

            int removedIdx = ListOfEntries.Items.IndexOf(droppedData);
            int targetIdx  = ListOfEntries.Items.IndexOf(target);

            if (removedIdx < targetIdx)
            {
                DC.MAS.Insert(targetIdx + 1, droppedData);
                DC.MAS.RemoveAt(removedIdx);
            }
            else
            {
                int remIdx = removedIdx + 1;
                if (DC.MAS.Count + 1 > remIdx)
                {
                    DC.MAS.Insert(targetIdx, droppedData);
                    DC.MAS.RemoveAt(remIdx);
                }
            }

            ResetGraph();
        }
        public ComparisonResult(string Folder1, string Folder2, string NameF1, string NameF2)
        {
            FirstFolder  = NameF1;
            SecondFolder = NameF2;

            MainAnalysisObject ma1 = new MainAnalysisObject();

            ma1.Initialise(Folder1);

            MainAnalysisObject ma2 = new MainAnalysisObject();

            ma2.Initialise(Folder2);

            var MAOList = new List <MainAnalysisObject>()
            {
                ma1, ma2
            };

            var Res  = StatisticalPAnalysis.PValues(MAOList);
            var Res2 = StatisticalPAnalysis.PValues(MAOList, Accord.Statistics.Testing.TwoSampleHypothesis.FirstValueIsSmallerThanSecond);

            double Threshold = 0.05;

            for (int i = 0; i < 2000; i += 500)
            {
                int RatioGood = 0, RatioBad = 0, Total = 0;
                foreach (var Val in Res.Where(x => x.X < i + 500 && x.X >= i))
                {
                    RatioGood += Val.Y < Threshold ? 1 : 0;
                    Total++;
                }

                foreach (var Val in Res2.Where(x => x.X < i + 500 && x.X >= i))
                {
                    RatioBad += Val.Y < Threshold ? 1 : 0;
                    Total++;
                }

                RatioBetter.Add((double)RatioGood / (double)Total);
                RatioWorse.Add((double)RatioBad / (double)Total);
            }
        }
 public void AddAnalysisObject(MainAnalysisObject ma)
 {
     MAS.Add(ma);
 }