private void btnReversion_Click(object sender, EventArgs e)
{
double[][] reversionSource = (double[][])(dgvReversionSource.DataSource as ArrayDataView).ArrayData;
double[][] m = kpca.Revert(reversionSource.ToMatrix(), (int)numNeighbor.Value).ToJagged(); // TODO
dgvReversionResult.DataSource = new ArrayDataView(m);
// Creates a matrix from the source data table
double[][] sourceMatrix = (dgvProjectionSource.DataSource as DataTable).ToArray();
// Create a new plot with the original Z column
double[][] graph = sourceMatrix.InsertColumn(sourceMatrix.GetColumn(2));
reversionScatterplot.DataSource = graph;
}