public void save_data() { try { string fileNameofNet = file; string data_name = String.Format("{0}\\{1}_{2}_{3}_{4}.txt", Path.GetDirectoryName(file), Path.GetFileNameWithoutExtension(file), X.ToString(), Y.ToString(), DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss")); using (StreamWriter file_stream = new StreamWriter(data_name)) { file_stream.WriteLine("selected X and Y"); file_stream.WriteLine("{0}\t{1}", X.ToString(), Y.ToString()); file_stream.WriteLine("X selected file"); file_stream.WriteLine(scanNamesListSelected[X] + " — " + sampleScanListSelected[X]); file_stream.WriteLine("Y selected file"); file_stream.WriteLine(scanNamesListSelected[Y] + " — " + sampleScanListSelected[Y]); file_stream.WriteLine("Threshold value and outliers level"); file_stream.WriteLine("{0}\t{1}", threshold.ToString(), threshold_outliers.ToString()); file_stream.WriteLine("m/z array values"); file_stream.WriteLine(R_matrix.mz_array.ToString <double>().Replace(' ', '\t')); file_stream.WriteLine("scan X included values"); file_stream.WriteLine(R_matrix.scan(X).Multiply(mz_id_to_process).ToString <double>().Replace(' ', '\t')); file_stream.WriteLine("scan X excluded values"); file_stream.WriteLine(R_matrix.scan(X).Multiply(mz_id_to_process.Multiply(-1).Add(1)).ToString <double>().Replace(' ', '\t')); file_stream.WriteLine("scan Y included values"); file_stream.WriteLine(R_matrix.scan(Y).Multiply(mz_id_to_process).ToString <double>().Replace(' ', '\t')); file_stream.WriteLine("scan Y excluded values"); file_stream.WriteLine(R_matrix.scan(Y).Multiply(mz_id_to_process.Multiply(-1).Add(1)).ToString <double>().Replace(' ', '\t')); file_stream.WriteLine("Similarity matrix"); for (int i = 0; i < R_matrix.matrix.Rows(); i++) { file_stream.WriteLine(R_matrix.matrix.GetRow(i).ToString <double>().Replace(' ', '\t')); } file_stream.Close(); } } catch (Exception) { } }
public void clicked_pixel(int X, int Y) { picture_R.Refresh(); GraphPane plot1 = master.PaneList[0]; GraphPane plot2 = master.PaneList[1]; plot1.CurveList.Clear(); plot2.CurveList.Clear(); plot1.YAxis.Scale.Min = 0; plot2.YAxis.Scale.Min = 0; LineItem myCurve1 = plot1.AddCurve("Included in calculations", R_matrix.mz_array, R_matrix.scan(Y).Multiply(mz_id_to_process.Add(-0.5).Multiply(2)), Color.Blue, SymbolType.None); LineItem myCurve2 = plot2.AddCurve("", R_matrix.mz_array, R_matrix.scan(X).Multiply(mz_id_to_process.Add(-0.5).Multiply(2)), Color.Blue, SymbolType.None); LineItem myCurve3 = plot1.AddCurve("Excluded from calculations", R_matrix.mz_array, R_matrix.scan(Y).Multiply(mz_id_to_process.Add(-0.5).Multiply(-2)), Color.Red, SymbolType.None); LineItem myCurve4 = plot2.AddCurve("", R_matrix.mz_array, R_matrix.scan(X).Multiply(mz_id_to_process.Add(-0.5).Multiply(-2)), Color.Red, SymbolType.None); plot1.Legend.Position = LegendPos.Float; plot1.Legend.Location.CoordinateFrame = CoordType.ChartFraction; plot1.Legend.Location.AlignH = AlignH.Right; plot1.Legend.Location.AlignV = AlignV.Top; plot1.Legend.Location.TopLeft = new PointF(1.0f - 0.02f, 0.02f); plot1.XAxis.Title.FontSpec.Size = 20.0f; plot2.XAxis.Title.FontSpec.Size = 20.0f; plot1.YAxis.Title.FontSpec.Size = 20.0f; plot2.YAxis.Title.FontSpec.Size = 20.0f; plot1.Title.FontSpec.Size = 20.0f; plot2.Title.FontSpec.Size = 20.0f; plot1.XAxis.Title.Text = "m/z, Th"; plot2.XAxis.Title.Text = "m/z, Th"; plot1.YAxis.Title.Text = "intensity"; plot2.YAxis.Title.Text = "intensity"; plot1.Title.Text = scanNamesListSelected[Y] + " — " + sampleScanListSelected[Y]; plot2.Title.Text = scanNamesListSelected[X] + " — " + sampleScanListSelected[X]; labelR.Text = "R=" + (R_matrix.matrix[X, Y]).ToString(); zgc.AxisChange(); zgc.Invalidate(); zgc.Refresh(); }