ProteoWizard
FeatureDetectorPeakel.hpp
Go to the documentation of this file.
1 //
2 // $Id$
3 //
4 //
5 // Original author: Darren Kessner <darren@proteowizard.org>
6 //
7 // Copyright 2009 Center for Applied Molecular Medicine
8 // University of Southern California, Los Angeles, CA
9 //
10 // Licensed under the Apache License, Version 2.0 (the "License");
11 // you may not use this file except in compliance with the License.
12 // You may obtain a copy of the License at
13 //
14 // http://www.apache.org/licenses/LICENSE-2.0
15 //
16 // Unless required by applicable law or agreed to in writing, software
17 // distributed under the License is distributed on an "AS IS" BASIS,
18 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 // See the License for the specific language governing permissions and
20 // limitations under the License.
21 //
22 
23 
24 #ifndef _FEATUREDETECTORPEAKEL_HPP_
25 #define _FEATUREDETECTORPEAKEL_HPP_
26 
27 
28 #include "FeatureDetector.hpp"
29 #include "PeakExtractor.hpp"
30 #include "PeakelGrower.hpp"
31 #include "PeakelPicker.hpp"
32 
33 
34 namespace pwiz {
35 namespace analysis {
36 
37 
38 ///
39 /// FeatureDetectorPeakel implements a 'template method', delegating to 'strategies'
40 /// encapsulated by the following interfaces:
41 /// PeakExtractor
42 /// PeakelGrower
43 /// PeakelPicker
44 ///
46 {
47  public:
48 
50 
51  FeatureDetectorPeakel(boost::shared_ptr<PeakExtractor> peakExtractor,
52  boost::shared_ptr<PeakelGrower> peakelGrower,
53  boost::shared_ptr<PeakelPicker> peakelPicker);
54 
55  virtual void detect(const MSData& msd, FeatureField& result) const;
56 
57  /// convenience construction
58 
59  struct Config
60  {
61  std::ostream* log; // propagates to sub-objects during create()
67 
68  Config() : log(0) {}
69  };
70 
71  static boost::shared_ptr<FeatureDetectorPeakel> create(Config config);
72 
73  private:
74  boost::shared_ptr<PeakExtractor> peakExtractor_;
75  boost::shared_ptr<PeakelGrower> peakelGrower_;
76  boost::shared_ptr<PeakelPicker> peakelPicker_;
77 };
78 
79 
80 } // namespace analysis
81 } // namespace pwiz
82 
83 
84 #endif // _FEATUREDETECTORPEAKEL_HPP_
85 
pwiz::analysis::PeakFitter_Parabola::Config
Definition: PeakFitter.hpp:66
pwiz::analysis::NoiseCalculator_2Pass::Config
Definition: Noise.hpp:60
pwiz
Definition: ChromatogramList_Filter.hpp:36
pwiz::analysis::FeatureDetectorPeakel::MSData
pwiz::msdata::MSData MSData
Definition: FeatureDetectorPeakel.hpp:49
pwiz::analysis::FeatureDetectorPeakel::Config::peakelPicker_Basic
PeakelPicker_Basic::Config peakelPicker_Basic
Definition: FeatureDetectorPeakel.hpp:66
pwiz::analysis::FeatureDetectorPeakel::create
static boost::shared_ptr< FeatureDetectorPeakel > create(Config config)
pwiz::analysis::FeatureDetectorPeakel::detect
virtual void detect(const MSData &msd, FeatureField &result) const
pwiz::analysis::FeatureDetectorPeakel::Config::Config
Config()
Definition: FeatureDetectorPeakel.hpp:68
pwiz::analysis::MZRTField
MZRTField is a std::set of boost::shared_ptrs, stored as a binary tree ordered by LessThan_MZRT.
Definition: MZRTField.hpp:95
PWIZ_API_DECL
#define PWIZ_API_DECL
Definition: Export.hpp:32
pwiz::analysis::FeatureDetectorPeakel::Config::peakelGrower_Proximity
PeakelGrower_Proximity::Config peakelGrower_Proximity
Definition: FeatureDetectorPeakel.hpp:65
pwiz::analysis::FeatureDetectorPeakel::Config::peakFitter_Parabola
PeakFitter_Parabola::Config peakFitter_Parabola
Definition: FeatureDetectorPeakel.hpp:64
pwiz::analysis::FeatureDetectorPeakel::peakExtractor_
boost::shared_ptr< PeakExtractor > peakExtractor_
Definition: FeatureDetectorPeakel.hpp:74
pwiz::analysis::FeatureDetectorPeakel::FeatureDetectorPeakel
FeatureDetectorPeakel(boost::shared_ptr< PeakExtractor > peakExtractor, boost::shared_ptr< PeakelGrower > peakelGrower, boost::shared_ptr< PeakelPicker > peakelPicker)
PeakExtractor.hpp
pwiz::analysis::FeatureDetectorPeakel::Config::log
std::ostream * log
Definition: FeatureDetectorPeakel.hpp:61
pwiz::analysis::FeatureDetectorPeakel::peakelGrower_
boost::shared_ptr< PeakelGrower > peakelGrower_
Definition: FeatureDetectorPeakel.hpp:75
pwiz::analysis::FeatureDetector
Definition: FeatureDetector.hpp:39
pwiz::analysis::FeatureDetectorPeakel::Config
convenience construction
Definition: FeatureDetectorPeakel.hpp:60
pwiz::analysis::FeatureDetectorPeakel::Config::peakFinder_SNR
PeakFinder_SNR::Config peakFinder_SNR
Definition: FeatureDetectorPeakel.hpp:63
pwiz::analysis::PeakFinder_SNR::Config
Definition: PeakFinder.hpp:57
FeatureDetector.hpp
pwiz::analysis::PeakelGrower_Proximity::Config
Definition: PeakelGrower.hpp:62
pwiz::analysis::FeatureDetectorPeakel::peakelPicker_
boost::shared_ptr< PeakelPicker > peakelPicker_
Definition: FeatureDetectorPeakel.hpp:76
pwiz::msdata::MSData
This is the root element of ProteoWizard; it represents the mzML element, defined as: intended to cap...
Definition: MSData.hpp:850
pwiz::analysis::FeatureDetectorPeakel
FeatureDetectorPeakel implements a 'template method', delegating to 'strategies' encapsulated by the ...
Definition: FeatureDetectorPeakel.hpp:46
PeakelPicker.hpp
PeakelGrower.hpp
pwiz::analysis::FeatureDetectorPeakel::Config::noiseCalculator_2Pass
NoiseCalculator_2Pass::Config noiseCalculator_2Pass
Definition: FeatureDetectorPeakel.hpp:62
pwiz::analysis::PeakelPicker_Basic::Config
Definition: PeakelPicker.hpp:58