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
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
lsst::ip::diffim::NaiveDipoleCentroid Class Reference

Intermediate base class for algorithms that compute a centroid. More...

#include <DipoleAlgorithms.h>

Inheritance diagram for lsst::ip::diffim::NaiveDipoleCentroid:
lsst::ip::diffim::DipoleCentroidAlgorithm lsst::meas::base::SimpleAlgorithm lsst::meas::base::SingleFrameAlgorithm lsst::meas::base::ForcedAlgorithm lsst::meas::base::BaseAlgorithm lsst::meas::base::BaseAlgorithm

Public Types

enum  { FAILURE =meas::base::FlagHandler::FAILURE, POS_FLAGS, NEG_FLAGS, N_FLAGS }
 
typedef
meas::base::CentroidResultKey 
ResultKey
 Tuple type that holds the keys that define a standard centroid algorithm. More...
 
- Public Types inherited from lsst::ip::diffim::DipoleCentroidAlgorithm
enum  { FAILURE =meas::base::FlagHandler::FAILURE, POS_FAILURE, NEG_FAILURE, N_FLAGS }
 
typedef DipoleCentroidControl Control
 
typedef
meas::base::CentroidResultKey 
ResultKey
 

Public Member Functions

 NaiveDipoleCentroid (Control const &ctrl, std::string const &name, afw::table::Schema &schema)
 
ResultKey const & getPositiveKeys () const
 Return the standard centroid keys registered by this algorithm. More...
 
ResultKey const & getNegativeKeys () const
 
void measure (afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure) const
 
void fail (afw::table::SourceRecord &measRecord, meas::base::MeasurementError *error=NULL) const
 
- Public Member Functions inherited from lsst::ip::diffim::DipoleCentroidAlgorithm
 DipoleCentroidAlgorithm (Control const &ctrl, std::string const &name, afw::table::Schema &schema, std::string const &doc)
 
ResultKey const & getPositiveKeys () const
 Return the standard centroid keys registered by this algorithm. More...
 
ResultKey const & getNegativeKeys () const
 
- Public Member Functions inherited from lsst::meas::base::SimpleAlgorithm
virtual void measureForced (afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure, afw::table::SourceRecord const &refRecord, afw::image::Wcs const &refWcs) const
 
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
 
- Public Member Functions inherited from lsst::meas::base::SingleFrameAlgorithm
virtual void measureN (afw::table::SourceCatalog const &measCat, afw::image::Exposure< float > const &exposure) const
 
- Public Member Functions inherited from lsst::meas::base::BaseAlgorithm
virtual ~BaseAlgorithm ()
 

Protected Member Functions

 NaiveDipoleCentroid (Control const &ctrl, std::string const &name, afw::table::Schema &schema, ResultKey const &positiveKeys, ResultKey const &negativeKeys)
 Initialize with a manually-constructed key tuple. More...
 
- Protected Member Functions inherited from lsst::ip::diffim::DipoleCentroidAlgorithm
 DipoleCentroidAlgorithm (Control const &ctrl, std::string const &name, afw::table::Schema &schema, std::string const &doc, ResultKey const &positiveKeys, ResultKey const &negativeKeys)
 Initialize with a manually-constructed key tuple. More...
 

Private Attributes

Control _ctrl
 
meas::base::FluxResultKey _fluxResultKey
 
meas::base::FlagHandler _flagHandler
 
meas::base::SafeCentroidExtractor _centroidExtractor
 

Additional Inherited Members

- Protected Attributes inherited from lsst::ip::diffim::DipoleCentroidAlgorithm
Control _ctrl
 
meas::base::FluxResultKey _fluxResultKey
 
meas::base::FlagHandler _flagHandler
 
meas::base::SafeCentroidExtractor _centroidExtractor
 
ResultKey _positiveKeys
 
ResultKey _negativeKeys
 

Detailed Description

Intermediate base class for algorithms that compute a centroid.

Definition at line 264 of file DipoleAlgorithms.h.

Member Typedef Documentation

Tuple type that holds the keys that define a standard centroid algorithm.

Algorithms are encouraged to add additional flags as appropriate, but these are required.

Definition at line 279 of file DipoleAlgorithms.h.

Member Enumeration Documentation

anonymous enum

Constructor & Destructor Documentation

lsst::ip::diffim::NaiveDipoleCentroid::NaiveDipoleCentroid ( Control const &  ctrl,
std::string const &  name,
afw::table::Schema schema 
)

Definition at line 123 of file DipoleAlgorithms.cc.

127  : DipoleCentroidAlgorithm(ctrl, name, schema, "unweighted first moment centroid"),
128  _ctrl(ctrl),
130 {
131 }
table::Key< std::string > name
Definition: ApCorrMap.cc:71
afw::table::Schema schema
Definition: GaussianPsf.cc:41
DipoleCentroidAlgorithm(Control const &ctrl, std::string const &name, afw::table::Schema &schema, std::string const &doc)
meas::base::SafeCentroidExtractor _centroidExtractor
lsst::ip::diffim::NaiveDipoleCentroid::NaiveDipoleCentroid ( Control const &  ctrl,
std::string const &  name,
afw::table::Schema schema,
ResultKey const &  positiveKeys,
ResultKey const &  negativeKeys 
)
protected

Initialize with a manually-constructed key tuple.

Member Function Documentation

void lsst::ip::diffim::NaiveDipoleCentroid::fail ( afw::table::SourceRecord measRecord,
meas::base::MeasurementError error = NULL 
) const
virtual

Handle an exception thrown by the current algorithm by setting flags in the given record.

fail() is called by the measurement framework when an exception is allowed to propagate out of one the algorithm's measure() methods. It should generally set both a general failure flag for the algorithm as well as a specific flag indicating the error condition, if possible. To aid in this, if the exception was an instance of MeasurementError, it will be passed in, carrying information about what flag to set.

An algorithm can also to chose to set flags within its own measure() methods, and then just return, rather than throw an exception. However, fail() should be implemented even when all known failure modes do not throw exceptions, to ensure that unexpected exceptions thrown in lower-level code are properly handled.

Implements lsst::meas::base::BaseAlgorithm.

Definition at line 152 of file DipoleAlgorithms.cc.

153  {
154  _flagHandler.handleFailure(measRecord, error);
155 }
def error
Definition: log.py:108
void handleFailure(afw::table::BaseRecord &record, MeasurementError const *error=NULL) const
Definition: FlagHandler.cc:59
ResultKey const& lsst::ip::diffim::NaiveDipoleCentroid::getNegativeKeys ( ) const
inline

Definition at line 283 of file DipoleAlgorithms.h.

ResultKey const& lsst::ip::diffim::NaiveDipoleCentroid::getPositiveKeys ( ) const
inline

Return the standard centroid keys registered by this algorithm.

Definition at line 282 of file DipoleAlgorithms.h.

void lsst::ip::diffim::NaiveDipoleCentroid::measure ( afw::table::SourceRecord source,
afw::image::Exposure< float > const &  exposure 
) const
virtual

Given an image and a pixel position, return a Centroid using a naive 3x3 weighted moment

Implements lsst::meas::base::SingleFrameAlgorithm.

Definition at line 136 of file DipoleAlgorithms.cc.

139  {
140  afw::detection::PeakCatalog const& peaks = source.getFootprint()->getPeaks();
141 
142  naiveCentroid(source, exposure, peaks[0].getI(), (peaks[0].getPeakValue() >= 0 ?
143  getPositiveKeys() :
144  getNegativeKeys()));
145  if (peaks.size() > 1) {
146  naiveCentroid(source, exposure, peaks[1].getI(), (peaks[1].getPeakValue() >= 0 ?
147  getPositiveKeys() :
148  getNegativeKeys()));
149  }
150 }
ResultKey const & getNegativeKeys() const
afw::table::CatalogT< PeakRecord > PeakCatalog
Definition: Peak.h:225
ResultKey const & getPositiveKeys() const
Return the standard centroid keys registered by this algorithm.

Member Data Documentation

meas::base::SafeCentroidExtractor lsst::ip::diffim::NaiveDipoleCentroid::_centroidExtractor
private

Definition at line 305 of file DipoleAlgorithms.h.

Control lsst::ip::diffim::NaiveDipoleCentroid::_ctrl
private

Definition at line 302 of file DipoleAlgorithms.h.

meas::base::FlagHandler lsst::ip::diffim::NaiveDipoleCentroid::_flagHandler
private

Definition at line 304 of file DipoleAlgorithms.h.

meas::base::FluxResultKey lsst::ip::diffim::NaiveDipoleCentroid::_fluxResultKey
private

Definition at line 303 of file DipoleAlgorithms.h.


The documentation for this class was generated from the following files: