24#ifndef _PEAKDETECTORMATCHEDFILTER_HPP_
25#define _PEAKDETECTORMATCHEDFILTER_HPP_
88 : isotopeEnvelopeEstimator(0),
90 filterSampleRadius(0),
91 peakThresholdFactor(0),
92 peakMaxCorrelationAngle(0),
93 isotopeThresholdFactor(0),
94 monoisotopicPeakThresholdFactor(0),
95 isotopeMaxChargeState(0),
96 isotopeMaxNeutronCount(0),
98 useMagnitudeFilter(false),
109 static std::auto_ptr<PeakDetectorMatchedFilter>
create(
const Config& config);
140 std::vector<pwiz::data::peakdata::Peak>
peaks;
142 Score(
double _f = 0,
int _c = 0,
int _n = 0)
143 : frequency(_f), charge(_c), neutronCount(_n),
144 value(0), monoisotopicFrequency(0), monoisotopicIntensity(0),
152 std::vector<Score>& scores)
const = 0;
Class used for calculating a theoretical isotope envelope for a given mass, based on an estimate of t...
Class for binary storage of complex frequency data.
Interface for finding peaks in frequency data.
MatchedFilter implementation of the PeakDetector interface.
static std::auto_ptr< PeakDetectorMatchedFilter > create(const Config &config)
create an instance.
virtual ~PeakDetectorMatchedFilter()
virtual void findPeaks(const pwiz::data::FrequencyData &fd, pwiz::data::peakdata::Scan &result, std::vector< Score > &scores) const =0
same as PeakDetector::findPeaks(), but provides additional Score information
virtual const Config & config() const =0
access to the configuration
virtual void findPeaks(const pwiz::data::FrequencyData &fd, pwiz::data::peakdata::Scan &result) const =0
Find the peaks in the frequency data, filling in Scan structure.
PWIZ_API_DECL std::ostream & operator<<(std::ostream &os, const PeakDetectorMatchedFilter::Score &a)
structure for holding configuration
int logDetailLevel
log detail level (0 == normal, 1 == extra)
std::ostream * log
log stream (0 == no logging)
double peakMaxCorrelationAngle
maximum correlation angle (degrees) for initial peak reporting
int isotopeMaxChargeState
isotope filter maximum charge state to score
const chemistry::IsotopeEnvelopeEstimator * isotopeEnvelopeEstimator
IsotopeEnvelopeEstimator pointer, must be valid for PeakDetector lifetime.
int filterMatchRate
number of filter correlations computed per frequency step
double monoisotopicPeakThresholdFactor
noise floor multiple for monoisotopic peak threshold
double peakThresholdFactor
noise floor multiple for initial peak reporting threshold
double collapseRadius
multiple peaks within this radius (Hz) are reported as single peak
int filterSampleRadius
number of filter samples taken on either side of 0
double isotopeThresholdFactor
noise floor multiple for isotope filter threshold
bool useMagnitudeFilter
use the magnitude of the peak shape filter kernel for finding peaks
int isotopeMaxNeutronCount
isotope filter maximum number of neutrons to score
structure for holding the matched filter calculation results
std::vector< pwiz::data::peakdata::Peak > peaks
double monoisotopicFrequency
std::complex< double > monoisotopicIntensity
Score(double _f=0, int _c=0, int _n=0)