public static Tuple <List <double>, List <List <double> > > Calculate(DataSetLoader loader)
        {
            var signers   = loader.EnumerateSigners().ToList();
            var resampler = new ReSamplingFeatureExtraction()
            {
                InputButton = FusionFeatures.Button,
                InputX      = FusionFeatures.X,
                InputY      = FusionFeatures.Y
            };
            var results = resampler.Calculate(signers);

            TxtHelper.Save(TxtHelper.ReSamplingResultsToLines(results), "resamplingdataset");
            return(results);
        }
        public Tuple <List <double>, List <List <double> > > Calculate(Signer signer)
        {
            var resList   = new List <double>();
            var dataLists = new List <List <double> >();

            Parallel.ForEach(signer.Signatures, sig =>
            {
                if (sig.Origin == Origin.Genuine)
                {
                    var newRes = Calculate(sig);
                    List <double> newResList           = newRes.Item1;
                    List <List <double> > newDataLists = newRes.Item2;
                    lock (o)
                    {
                        resList.AddRange(newResList);
                        if (dataLists.Count == 0)
                        {
                            for (int i = 0; i < newDataLists.Count; i++)
                            {
                                dataLists.Add(new List <double>());
                            }
                        }
                        if (dataLists.Count != newDataLists.Count)
                        {
                            throw new Exception();
                        }
                        for (int i = 0; i < dataLists.Count; i++)
                        {
                            dataLists[i].AddRange(newDataLists[i]);
                        }
                    }
                }
            }
                             );
            Check(resList, dataLists);
            var res = new Tuple <List <double>, List <List <double> > >(resList, dataLists);

            TxtHelper.Save(TxtHelper.ReSamplingResultsToLines(res), "resamplingdata" + signer.ID);
            return(res);
        }