lsst.meas.base
ga44f29b7aa+21155385c5
Toggle main menu visibility
Loading...
Searching...
No Matches
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/log/Log.h
"
28
29
#include "
lsst/afw/table/fwd.h
"
30
#include "
lsst/afw/geom/SkyWcs.h
"
31
#include "
lsst/afw/image/Exposure.h
"
32
#include "
lsst/meas/base/exceptions.h
"
33
#include "
lsst/meas/base/FlagHandler.h
"
34
35
namespace
lsst
{
36
namespace
meas
{
37
namespace
base
{
38
44
class
BaseAlgorithm
{
45
public
:
62
virtual
void
fail
(
afw::table::SourceRecord
& measRecord,
MeasurementError
* error =
nullptr
)
const
= 0;
63
64
virtual
~BaseAlgorithm
() =
default
;
65
66
std::string
getLogName
()
const
{
return
_logName
; }
67
68
protected
:
69
std::string
_logName
;
70
};
71
82
class
SingleFrameAlgorithm
:
public
virtual
BaseAlgorithm
{
83
public
:
92
virtual
void
measure
(
afw::table::SourceRecord
& measRecord,
93
afw::image::Exposure<float>
const
& exposure)
const
= 0;
94
105
virtual
void
measureN
(
afw::table::SourceCatalog
const
& measCat,
106
afw::image::Exposure<float>
const
& exposure)
const
;
107
};
108
127
class
ForcedAlgorithm
:
public
virtual
BaseAlgorithm
{
128
public
:
137
virtual
void
measureForced
(
afw::table::SourceRecord
& measRecord,
138
afw::image::Exposure<float>
const
& exposure,
139
afw::table::SourceRecord
const
& refRecord,
140
afw::geom::SkyWcs
const
& refWcs)
const
= 0;
141
152
virtual
void
measureNForced
(
afw::table::SourceCatalog
const
& measCat,
153
afw::image::Exposure<float>
const
& exposure,
154
afw::table::SourceCatalog
const
& refRecord,
155
afw::geom::SkyWcs
const
& refWcs)
const
;
156
};
157
170
class
SimpleAlgorithm
:
public
SingleFrameAlgorithm
,
public
ForcedAlgorithm
{
171
public
:
172
void
measureForced
(
afw::table::SourceRecord
& measRecord,
173
afw::image::Exposure<float>
const
& exposure,
174
afw::table::SourceRecord
const
& refRecord,
175
afw::geom::SkyWcs
const
& refWcs)
const override
{
176
measure
(measRecord, exposure);
177
}
178
179
void
measureNForced
(
afw::table::SourceCatalog
const
& measCat,
180
afw::image::Exposure<float>
const
& exposure,
181
afw::table::SourceCatalog
const
& refRecord,
182
afw::geom::SkyWcs
const
& refWcs)
const override
{
183
measureN
(measCat, exposure);
184
}
185
};
186
187
}
// namespace base
188
}
// namespace meas
189
}
// namespace lsst
190
191
#endif
// !LSST_MEAS_BASE_Algorithm_h_INCLUDED
Log.h
FlagHandler.h
SkyWcs.h
std::string
lsst::afw::geom::SkyWcs
lsst::afw::image::Exposure
lsst::afw::table::SourceRecord
lsst::meas::base::BaseAlgorithm
Ultimate abstract base class for all C++ measurement algorithms.
Definition
Algorithm.h:44
lsst::meas::base::BaseAlgorithm::~BaseAlgorithm
virtual ~BaseAlgorithm()=default
lsst::meas::base::BaseAlgorithm::fail
virtual void fail(afw::table::SourceRecord &measRecord, MeasurementError *error=nullptr) const =0
Handle an exception thrown by the current algorithm by setting flags in the given record.
lsst::meas::base::BaseAlgorithm::_logName
std::string _logName
Definition
Algorithm.h:69
lsst::meas::base::BaseAlgorithm::getLogName
std::string getLogName() const
Definition
Algorithm.h:66
lsst::meas::base::ForcedAlgorithm
Base class for algorithms that measure the properties of sources on one image, using previous measure...
Definition
Algorithm.h:127
lsst::meas::base::ForcedAlgorithm::measureForced
virtual void measureForced(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure, afw::table::SourceRecord const &refRecord, afw::geom::SkyWcs const &refWcs) const =0
Called to measure a single child source in an image.
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::geom::SkyWcs const &refWcs) const
Called to simultaneously measure all children in a deblend family, in a single image.
Definition
Algorithm.cc:36
lsst::meas::base::MeasurementError
Exception to be thrown when a measurement algorithm experiences a known failure mode.
Definition
exceptions.h:48
lsst::meas::base::SimpleAlgorithm
An abstract base classes for which the same implementation can be used for both SingleFrameAlgorithm ...
Definition
Algorithm.h:170
lsst::meas::base::SimpleAlgorithm::measureNForced
void measureNForced(afw::table::SourceCatalog const &measCat, afw::image::Exposure< float > const &exposure, afw::table::SourceCatalog const &refRecord, afw::geom::SkyWcs const &refWcs) const override
Called to simultaneously measure all children in a deblend family, in a single image.
Definition
Algorithm.h:179
lsst::meas::base::SimpleAlgorithm::measureForced
void measureForced(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure, afw::table::SourceRecord const &refRecord, afw::geom::SkyWcs const &refWcs) const override
Called to measure a single child source in an image.
Definition
Algorithm.h:172
lsst::meas::base::SingleFrameAlgorithm
Base class for algorithms that measure the properties of sources on single image.
Definition
Algorithm.h:82
lsst::meas::base::SingleFrameAlgorithm::measure
virtual void measure(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure) const =0
Called to measure a single child source in an image.
lsst::meas::base::SingleFrameAlgorithm::measureN
virtual void measureN(afw::table::SourceCatalog const &measCat, afw::image::Exposure< float > const &exposure) const
Called to simultaneously measure all children in a deblend family, in a single image.
Definition
Algorithm.cc:31
exceptions.h
fwd.h
Exposure.h
lsst::afw::table::SourceCatalog
SortedCatalogT< SourceRecord > SourceCatalog
lsst::daf::base
lsst::meas
Definition
Algorithm.h:36
lsst
Generated on
for lsst.meas.base by
1.17.0