bool DataprocHandler::doCentroid( adcontrols::MSPeakInfo& pkInfo , adcontrols::MassSpectrum& res , const adcontrols::MassSpectrum& profile , const adcontrols::CentroidMethod& m ) { adcontrols::CentroidProcess peak_detector; bool result = false; res.clone( profile, false ); if ( peak_detector( m, profile ) ) { result = peak_detector.getCentroidSpectrum( res ); pkInfo = peak_detector.getPeakInfo(); } if ( profile.numSegments() > 0 ) { for ( size_t fcn = 0; fcn < profile.numSegments(); ++fcn ) { adcontrols::MassSpectrum centroid; result |= peak_detector( profile.getSegment( fcn ) ); pkInfo.addSegment( peak_detector.getPeakInfo() ); peak_detector.getCentroidSpectrum( centroid ); res.addSegment( centroid ); } } return result; }
bool QuanSampleProcessor::doCentroid( adcontrols::MSPeakInfo& pkInfo , adcontrols::MassSpectrum& res , const adcontrols::MassSpectrum& profile , const adcontrols::CentroidMethod& m ) { adcontrols::CentroidProcess peak_detector; bool result = false; res.clone( profile, false ); if ( peak_detector( m, profile ) ) { result = peak_detector.getCentroidSpectrum( res ); pkInfo = peak_detector.getPeakInfo(); } if ( profile.numSegments() > 0 ) { for ( size_t fcn = 0; fcn < profile.numSegments(); ++fcn ) { auto centroid = std::make_shared< adcontrols::MassSpectrum >(); result |= peak_detector( profile.getSegment( fcn ) ); pkInfo.addSegment( peak_detector.getPeakInfo() ); peak_detector.getCentroidSpectrum( *centroid ); res << std::move( centroid ); } } return result; }