lsst.meas.base  14.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
PeakLikelihoodFlux.h
Go to the documentation of this file.
1 // -*- lsst-c++ -*-
2 /*
3  * LSST Data Management System
4  * Copyright 2008-2015 AURA/LSST.
5  *
6  * This product includes software developed by the
7  * LSST Project (http://www.lsst.org/).
8  *
9  * This program is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the LSST License Statement and
20  * the GNU General Public License along with this program. If not,
21  * see <http://www.lsstcorp.org/LegalNotices/>.
22  */
23 
24 #ifndef LSST_MEAS_BASE_PeakLikelihoodFlux_h_INCLUDED
25 #define LSST_MEAS_BASE_PeakLikelihoodFlux_h_INCLUDED
26 
27 #include "lsst/pex/config.h"
28 #include "lsst/afw/image/Exposure.h"
35 
36 namespace lsst { namespace meas { namespace base {
37 
58 public:
59 
60  LSST_CONTROL_FIELD(warpingKernelName, std::string,
61  "Name of warping kernel (e.g. \"lanczos4\") used to compute the peak");
62 
64 };
65 
66 
72 public:
73 
74  // Structures and routines to manage flaghandler
75  static FlagDefinitionList const & getFlagDefinitions();
76  static FlagDefinition const FAILURE;
77 
81 
82  PeakLikelihoodFluxAlgorithm(Control const & ctrl, std::string const & name, afw::table::Schema & schema);
83 
84  virtual void measure(
85  afw::table::SourceRecord & measRecord,
86  afw::image::Exposure<float> const & exposure
87  ) const;
88 
89  virtual void fail(
90  afw::table::SourceRecord & measRecord,
91  MeasurementError * error=nullptr
92  ) const;
93 
94 private:
95 
96  Control _ctrl;
97  FluxResultKey _fluxResultKey;
98  FlagHandler _flagHandler;
99  SafeCentroidExtractor _centroidExtractor;
100 };
101 
103 public:
105  PeakLikelihoodFluxTransform(Control const & ctrl, std::string const & name,
106  afw::table::SchemaMapper & mapper) : FluxTransform{name, mapper} { }
107 };
108 
109 }}} // namespace lsst::meas::base
110 
111 #endif // !LSST_MEAS_BASE_PeakLikelihoodFlux_h_INCLUDED
PeakLikelihoodFluxControl Control
A typedef to the Control object for this algorithm, defined above.
Simple class used to define and document flags The name and doc constitute the identity of the FlagDe...
Definition: FlagHandler.h:38
This defines the base of measurement transformations.
PeakLikelihoodFluxAlgorithm(Control const &ctrl, std::string const &name, afw::table::Schema &schema)
Utility class for measurement algorithms that extracts a position from the Centroid slot and handles ...
Exception to be thrown when a measurement algorithm experiences a known failure mode.
Definition: exceptions.h:48
Base for flux measurement transformations.
C++ control object for peak likelihood flux.
virtual void fail(afw::table::SourceRecord &measRecord, MeasurementError *error=nullptr) const
Handle an exception thrown by the current algorithm by setting flags in the given record...
Utility class for handling flag fields that indicate the failure modes of an algorithm.
Definition: FlagHandler.h:156
virtual void measure(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure) const
Called to measure a single child source in an image.
A FunctorKey for FluxResult.
Definition: FluxUtilities.h:56
An abstract base classes for which the same implementation can be used for both SingleFrameAlgorithm ...
Definition: Algorithm.h:184
std::string warpingKernelName
&quot;Name of warping kernel (e.g. \&quot;lanczos4") used to compute the peak" ;
PeakLikelihoodFluxTransform(Control const &ctrl, std::string const &name, afw::table::SchemaMapper &mapper)
static FlagDefinitionList const & getFlagDefinitions()
A measurement algorithm that estimates the peak flux, using a filtered image which has been convolved...
vector-type utility class to build a collection of FlagDefinitions
Definition: FlagHandler.h:63