LSSTApplications  16.0-10-g0ee56ad+5,16.0-11-ga33d1f2+5,16.0-12-g3ef5c14+3,16.0-12-g71e5ef5+18,16.0-12-gbdf3636+3,16.0-13-g118c103+3,16.0-13-g8f68b0a+3,16.0-15-gbf5c1cb+4,16.0-16-gfd17674+3,16.0-17-g7c01f5c+3,16.0-18-g0a50484+1,16.0-20-ga20f992+8,16.0-21-g0e05fd4+6,16.0-21-g15e2d33+4,16.0-22-g62d8060+4,16.0-22-g847a80f+4,16.0-25-gf00d9b8+1,16.0-28-g3990c221+4,16.0-3-gf928089+3,16.0-32-g88a4f23+5,16.0-34-gd7987ad+3,16.0-37-gc7333cb+2,16.0-4-g10fc685+2,16.0-4-g18f3627+26,16.0-4-g5f3a788+26,16.0-5-gaf5c3d7+4,16.0-5-gcc1f4bb+1,16.0-6-g3b92700+4,16.0-6-g4412fcd+3,16.0-6-g7235603+4,16.0-69-g2562ce1b+2,16.0-8-g14ebd58+4,16.0-8-g2df868b+1,16.0-8-g4cec79c+6,16.0-8-gadf6c7a+1,16.0-8-gfc7ad86,16.0-82-g59ec2a54a+1,16.0-9-g5400cdc+2,16.0-9-ge6233d7+5,master-g2880f2d8cf+3,v17.0.rc1
LSSTDataManagementBasePackage
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"
35 
36 namespace lsst {
37 namespace meas {
38 namespace base {
39 
60 public:
62  "Name of warping kernel (e.g. \"lanczos4\") used to compute the peak");
63 
65 };
66 
72 public:
73  // Structures and routines to manage flaghandler
74  static FlagDefinitionList const& getFlagDefinitions();
75  static FlagDefinition const FAILURE;
76 
80 
82 
83  virtual void measure(afw::table::SourceRecord& measRecord,
84  afw::image::Exposure<float> const& exposure) const;
85 
86  virtual void fail(afw::table::SourceRecord& measRecord, MeasurementError* error = nullptr) const;
87 
88 private:
89  Control _ctrl;
90  FluxResultKey _instFluxResultKey;
91  FlagHandler _flagHandler;
92  SafeCentroidExtractor _centroidExtractor;
93 };
94 
96 public:
98  PeakLikelihoodFluxTransform(Control const& ctrl, std::string const& name,
100  : FluxTransform{name, mapper} {}
101 };
102 
103 } // namespace base
104 } // namespace meas
105 } // namespace lsst
106 
107 #endif // !LSST_MEAS_BASE_PeakLikelihoodFlux_h_INCLUDED
Defines the fields and offsets for a table.
Definition: Schema.h:50
A mapping between the keys of two Schemas, used to copy data between them.
Definition: SchemaMapper.h:21
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:40
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
#define LSST_CONTROL_FIELD(NAME, TYPE, DOC)
A preprocessor macro used to define fields in C++ "control object" structs.
Definition: config.h:36
Base for instFlux measurement transformations.
C++ control object for peak likelihood instrument flux.
This defines the base of measurement transformations.
STL class.
Utility class for handling flag fields that indicate the failure modes of an algorithm.
Definition: FlagHandler.h:148
A base class for image defects.
table::Schema schema
Definition: Camera.cc:161
A FunctorKey for FluxResult.
Definition: FluxUtilities.h:59
An abstract base classes for which the same implementation can be used for both SingleFrameAlgorithm ...
Definition: Algorithm.h:170
std::string warpingKernelName
"Name of warping kernel (e.g. \"lanczos4") used to compute the peak" ;
PeakLikelihoodFluxTransform(Control const &ctrl, std::string const &name, afw::table::SchemaMapper &mapper)
def measure(mi, x, y, size, statistic, stats)
Definition: fringe.py:357
Record class that contains measurements made on a single exposure.
Definition: Source.h:82
A measurement algorithm that estimates the peak instrument flux, using a filtered image which has bee...
vector-type utility class to build a collection of FlagDefinitions
Definition: FlagHandler.h:60
SchemaMapper * mapper
Definition: SchemaMapper.cc:78