public void Init()
    {
        ClearCanvas();


        matrixOfPoints = CombinedOldAndNewData();
        KernalPca.Train(matrixOfPoints);
        kpcaMatrix = KernalPca.Transform(matrixOfPoints);

        Normalize.Initiate(matrixOfPoints);
        normalizedMatrix = Normalize.Matrix(matrixOfPoints);
        //targets = CombinedOldAndNewTargets();
        numberOfPoints = matrixOfPoints.Length;
        GameObject pieInitiator = GameObject.Find("DataInitiator");

        pieInitiatorScript = (PieController)pieInitiator.GetComponent(typeof(PieController));

        var oldPies   = CreatePies(ValfriStatic.MatrixOfPoints, ValfriStatic.Targets);
        var addedPies = new List <GameObject>();

        try
        {
            addedPies = CreatePies(ValfriStatic.AddedPoints.GetRange(0, ValfriStatic.AddedPoints.Count - 1));
            addedPies.AddRange(CreatePies(ValfriStatic.AddedPoints.GetRange(ValfriStatic.AddedPoints.Count - 1, 1), true));
        }
        catch (System.Exception)
        {
        }


        oldPies.AddRange(addedPies);

        DipslayPies(oldPies);


        var knnPoints = new List <GameObject>();

        try
        {
            for (int i = 0; i < Dataset.K; i++)
            {
                knnPoints.Add(oldPies[Knn.info[i].idx]);
            }
        }
        catch (System.Exception)
        {
        }

        foreach (var pie in knnPoints)
        {
            var pieScript = (BigPie)pie.GetComponent(typeof(BigPie));
            pieScript.CreateBigPie();
        }
    }
    public void Save()
    {
        List <double> point = scrollScript.GetInputs();

        Debug.Log(point.Count);


        GameObject pieInitiator = GameObject.Find("DataInitiator");

        var pieInitiatorScript = (PieController)pieInitiator.GetComponent(typeof(PieController));

        int target = Knn.Classify(point.ToArray(), ValfriStatic.MatrixOfPoints, Dataset.NumberOfFeatures, Dataset.K);

        var canvas = GameObject.Find("Canvas");

        var newPie = pieInitiatorScript.CreatePie(point.ToArray(), target);
        var KPCA   = KernalPca.Transform(point.ToArray());

        Display.Pie(newPie, canvas);
        Display.SetPosition(newPie, (float)KPCA[0], (float)KPCA[1], 0, true);

        Delete();
    }