void OpenSwathDataAccessHelper::convertToOpenMSChromatogram(OpenMS::MSChromatogram<> & chromatogram, const OpenSwath::ChromatogramPtr cptr) { OpenSwath::BinaryDataArrayPtr rt_arr = cptr->getTimeArray(); OpenSwath::BinaryDataArrayPtr int_arr = cptr->getIntensityArray(); chromatogram.reserve(rt_arr->data.size()); for (Size i = 0; i < rt_arr->data.size(); i++) { ChromatogramPeak p; p.setRT(rt_arr->data[i]); p.setIntensity(int_arr->data[i]); chromatogram.push_back(p); } }
void PeakPickerHiRes::pick(const MSChromatogram& input, MSChromatogram& output, std::vector<PeakBoundary>& boundaries) const { // copy meta data of the input chromatogram output.clear(true); output.ChromatogramSettings::operator=(input); output.MetaInfoInterface::operator=(input); output.setName(input.getName()); MSSpectrum input_spectrum; MSSpectrum output_spectrum; for (MSChromatogram::const_iterator it = input.begin(); it != input.end(); ++it) { Peak1D p; p.setMZ(it->getRT()); p.setIntensity(it->getIntensity()); input_spectrum.push_back(p); } pick(input_spectrum, output_spectrum, boundaries, false); // no spacing checks! for (MSSpectrum::const_iterator it = output_spectrum.begin(); it != output_spectrum.end(); ++it) { ChromatogramPeak p; p.setRT(it->getMZ()); p.setIntensity(it->getIntensity()); output.push_back(p); } // copy float data arrays (for FWHM) output.getFloatDataArrays().resize(output_spectrum.getFloatDataArrays().size()); for (Size i = 0; i < output_spectrum.getFloatDataArrays().size(); ++i) { output.getFloatDataArrays()[i].insert(output.getFloatDataArrays()[i].begin(), output_spectrum.getFloatDataArrays()[i].begin(), output_spectrum.getFloatDataArrays()[i].end()); output.getFloatDataArrays()[i].setName(output_spectrum.getFloatDataArrays()[i].getName()); } }