public double[][] Data() { double[][] data = new double[2][]; // next make a request for the filtered chromatogram. // Define settings for XIC ChromatogramTraceSettings traceSettings = new ChromatogramTraceSettings(TraceType.MassRange) { Filter = filterMS, MassRanges = new[] { new Range(mass, mass) } }; // create the array of chromatogram settings IChromatogramSettings[] allSettings = { traceSettings }; // set tolerance of +/- whatever ppm MassOptions tolerance = new MassOptions() { Tolerance = ppm, ToleranceUnits = ToleranceUnits.ppm }; // read the chromatogram var chroData = rawFile.GetChromatogramData(allSettings, -1, -1, tolerance); data[0] = chroData.PositionsArray.ToArray()[0]; data[1] = chroData.IntensitiesArray.ToArray()[0]; return(data); }
/// <summary> /// Get and set chromatogram data from the raw file /// </summary> /// <param name="inputRawFile"></param> private void GetChromatogramData(IRawDataPlus inputRawFile) { try { //Get mass resolution for the run from the header MassResolution = inputRawFile.RunHeaderEx.MassResolution; // Find startScan and endScan int startScan = inputRawFile.RunHeader.FirstSpectrum; int endScan = inputRawFile.RunHeader.LastSpectrum; //Set up settings to extract the data ChromatogramTraceSettings traceSettings = new ChromatogramTraceSettings(TraceType.MassRange) { Filter = FILTER_MS, MassRanges = new[] { new Range(LowMass, HighMass) } }; IChromatogramSettings[] allSettings = { traceSettings }; MassOptions massOptions = new MassOptions() { Tolerance = Tolerance, ToleranceUnits = ToleranceUnits }; var chromatogramData = inputRawFile.GetChromatogramData(allSettings, startScan, endScan, massOptions); //get all chromatogram data // Get data from the chromatogram ScanNumList = chromatogramData.ScanNumbersArray[0]; ExactMassList = chromatogramData.PositionsArray[0]; //get positions of each scan MassIntensityList = chromatogramData.IntensitiesArray[0]; //get list of intensities for scan numbers } catch (Exception ex) { Console.Write("Error in accessing chromatogram data: " + ex); } }
private void UpdateChromatogramData() { ChromatogramTraceSettings traceSettings; MassOptions tolerance = null; string msFilter; if (ChroMsLevelComboBox.Text == "MS1" | ChroMsLevelComboBox.SelectedIndex == -1) { msFilter = "ms"; } else if (ChroMsLevelComboBox.Text == "MS2") { msFilter = "ms2"; } else if (ChroMsLevelComboBox.Text == "MS3") { msFilter = "ms3"; } else { msFilter = String.Empty; } if (ChroTICRadioButton.Checked) { traceSettings = new ChromatogramTraceSettings(TraceType.TIC); } else if (ChroBPRadioButton.Checked) { traceSettings = new ChromatogramTraceSettings(TraceType.BasePeak); } else { if (ChroXICmzTextBox.Text.IsNullOrEmpty() || ChroXICmzTextBox.BackColor == Color.Red || ChroXICmzTextBox.Text == "") { traceSettings = new ChromatogramTraceSettings(TraceType.TIC); } else { double da = Convert.ToDouble(ChroXICmzTextBox.Text); traceSettings = new ChromatogramTraceSettings(TraceType.MassRange) { MassRanges = new[] { new Range(da, da) }, }; if (!chroXICToleranceTextBox.Text.IsNullOrEmpty() && !(chroXICToleranceTextBox.BackColor == Color.Red) && !(chroXICToleranceTextBox.Text == "")) { tolerance = new MassOptions() { Tolerance = Convert.ToDouble(chroXICToleranceTextBox.Text) }; if (chroMassTolPPM.Checked) { tolerance.ToleranceUnits = ToleranceUnits.ppm; } else if (chroMassTolDa.Checked) { tolerance.ToleranceUnits = ToleranceUnits.amu; } else { tolerance.ToleranceUnits = ToleranceUnits.mmu; } } } } traceSettings.Filter = msFilter; IChromatogramSettingsEx[] allSettings = { traceSettings }; ChromatogramData = RawData.GetChromatogramDataEx(allSettings, -1, -1, tolerance); }