LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
meas_base
11.0+1
include
lsst
meas
base
Algorithm.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008-2014 LSST Corporation.
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_Algorithm_h_INCLUDED
25
#define LSST_MEAS_BASE_Algorithm_h_INCLUDED
26
27
#include "
lsst/afw/table/fwd.h
"
28
#include "
lsst/afw/image/Exposure.h
"
29
#include "
lsst/meas/base/exceptions.h
"
30
#include "
lsst/meas/base/FlagHandler.h
"
31
32
namespace
lsst {
namespace
meas {
namespace
base {
33
39
class
BaseAlgorithm
{
40
public
:
41
58
virtual
void
fail
(
59
afw::table::SourceRecord
& measRecord,
60
MeasurementError
*
error
=NULL
61
)
const
= 0;
62
63
virtual
~BaseAlgorithm
() {}
64
65
};
66
77
class
SingleFrameAlgorithm
:
public
virtual
BaseAlgorithm
{
78
public
:
79
88
virtual
void
measure
(
89
afw::table::SourceRecord
& measRecord,
90
afw::image::Exposure<float>
const
& exposure
91
)
const
= 0;
92
103
virtual
void
measureN
(
104
afw::table::SourceCatalog
const
& measCat,
105
afw::image::Exposure<float>
const
& exposure
106
)
const
;
107
108
};
109
128
class
ForcedAlgorithm
:
public
virtual
BaseAlgorithm
{
129
public
:
130
139
virtual
void
measureForced
(
140
afw::table::SourceRecord
& measRecord,
141
afw::image::Exposure<float>
const
& exposure,
142
afw::table::SourceRecord
const
& refRecord,
143
afw::image::Wcs
const
& refWcs
144
)
const
= 0;
145
156
virtual
void
measureNForced
(
157
afw::table::SourceCatalog
const
& measCat,
158
afw::image::Exposure<float>
const
& exposure,
159
afw::table::SourceCatalog
const
& refRecord,
160
afw::image::Wcs
const
& refWcs
161
)
const
;
162
163
};
164
177
class
SimpleAlgorithm
:
public
SingleFrameAlgorithm
,
public
ForcedAlgorithm
{
178
public
:
179
180
virtual
void
measureForced
(
181
afw::table::SourceRecord
& measRecord,
182
afw::image::Exposure<float>
const
& exposure,
183
afw::table::SourceRecord
const
& refRecord,
184
afw::image::Wcs
const
& refWcs
185
)
const
{
186
measure
(measRecord, exposure);
187
}
188
189
virtual
void
measureNForced
(
190
afw::table::SourceCatalog
const
& measCat,
191
afw::image::Exposure<float>
const
& exposure,
192
afw::table::SourceCatalog
const
& refRecord,
193
afw::image::Wcs
const
& refWcs
194
)
const
{
195
measureN
(measCat, exposure);
196
}
197
198
};
199
200
}}}
// namespace lsst::meas::base
201
202
#endif // !LSST_MEAS_BASE_Algorithm_h_INCLUDED
lsst::meas::base::SimpleAlgorithm::measureNForced
virtual void measureNForced(afw::table::SourceCatalog const &measCat, afw::image::Exposure< float > const &exposure, afw::table::SourceCatalog const &refRecord, afw::image::Wcs const &refWcs) const
Definition:
Algorithm.h:189
exceptions.h
lsst::afw::image::Exposure< float >
lsst::meas::base::SimpleAlgorithm::measureForced
virtual void measureForced(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure, afw::table::SourceRecord const &refRecord, afw::image::Wcs const &refWcs) const
Definition:
Algorithm.h:180
FlagHandler.h
lsst::meas::base::SingleFrameAlgorithm
Definition:
Algorithm.h:77
lsst::afw::image::Wcs
Implementation of the WCS standard for a any projection.
Definition:
Wcs.h:107
lsst::meas::base::BaseAlgorithm::~BaseAlgorithm
virtual ~BaseAlgorithm()
Definition:
Algorithm.h:63
lsst::meas::base::MeasurementError
Exception to be thrown when a measurement algorithm experiences a known failure mode.
Definition:
exceptions.h:48
fwd.h
lsst::meas::base::ForcedAlgorithm
Definition:
Algorithm.h:128
lsst.log.log.error
def error
Definition:
log.py:108
lsst::meas::base::SingleFrameAlgorithm::measureN
virtual void measureN(afw::table::SourceCatalog const &measCat, afw::image::Exposure< float > const &exposure) const
Definition:
Algorithm.cc:29
lsst::afw::table::SortedCatalogT
Custom catalog class for record/table subclasses that are guaranteed to have an ID, and should generally be sorted by that ID.
Definition:
fwd.h:55
lsst::meas::base::BaseAlgorithm
Definition:
Algorithm.h:39
lsst::meas::base::ForcedAlgorithm::measureNForced
virtual void measureNForced(afw::table::SourceCatalog const &measCat, afw::image::Exposure< float > const &exposure, afw::table::SourceCatalog const &refRecord, afw::image::Wcs const &refWcs) const
Definition:
Algorithm.cc:39
lsst::meas::base::BaseAlgorithm::fail
virtual void fail(afw::table::SourceRecord &measRecord, MeasurementError *error=NULL) const =0
lsst::meas::base::SimpleAlgorithm
Definition:
Algorithm.h:177
lsst::meas::base::ForcedAlgorithm::measureForced
virtual void measureForced(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure, afw::table::SourceRecord const &refRecord, afw::image::Wcs const &refWcs) const =0
lsst::meas::base::SingleFrameAlgorithm::measure
virtual void measure(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure) const =0
lsst::afw::table::SourceRecord
Record class that contains measurements made on a single exposure.
Definition:
Source.h:81
Exposure.h
Generated on Thu Sep 24 2015 02:29:21 for LSSTApplications by
1.8.5