private void btnDraw_Click(object sender, RoutedEventArgs e)
        {
            switch (cbFunction.SelectedItem.ToString())
            {
                case "Spectral Graph for GB-S3VDD": //Draw Visual Spectral Graph for GB-S3VDD
                    //Clear old Edge
                    for (int i = 0; i < drawingPad.Children.Count; ++i)
                    {
                        string obj = drawingPad.Children[i].ToString();

                        if (obj.IndexOf("Line") != -1)
                        {
                            drawingPad.Children.RemoveAt(i);
                            i--;
                        }
                    }

                    dataset = new Dataset(lstPoint.ToArray());

                    graph = new GraphBase(dataset, double.Parse(txtXichma.Text), int.Parse(txtK.Text));
                    graph.myCanvas = drawingPad;
                    graph.DrawSG_for_GBS3VDD();

                    tbStatus.Text = "Visual Spectral Graph for GB-S3VDD (with k = " + txtK.Text + " & σ = " + txtXichma.Text + ") completed !";
                    break;
                case "Spectral Graph": //Draw Visual spectral graph
                    //Clear old Edge
                    for (int i = 0; i < drawingPad.Children.Count; ++i)
                    {
                        string obj = drawingPad.Children[i].ToString();

                        if (obj.IndexOf("Line") != -1)
                        {
                            drawingPad.Children.RemoveAt(i);
                            i--;
                        }
                    }

                    dataset = new Dataset(lstPoint.ToArray());

                    graph = new GraphBase(dataset, double.Parse(txtXichma.Text), int.Parse(txtK.Text));
                    graph.myCanvas = drawingPad;
                    graph.DrawVSG();

                    tbStatus.Text = "Visual Spectral Graph (with k = " + txtK.Text + " & σ = " + txtXichma.Text + ") completed !";
                    break;
            }
        }