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 | Private Attributes | List of all members
lsst::ip::diffim::NaiveDipoleFlux Class Reference

#include <DipoleAlgorithms.h>

Inheritance diagram for lsst::ip::diffim::NaiveDipoleFlux:
lsst::ip::diffim::DipoleFluxAlgorithm lsst::meas::base::SimpleAlgorithm lsst::meas::base::SingleFrameAlgorithm lsst::meas::base::ForcedAlgorithm lsst::meas::base::BaseAlgorithm lsst::meas::base::BaseAlgorithm

Public Types

typedef DipoleFluxControl Control
 
- Public Types inherited from lsst::ip::diffim::DipoleFluxAlgorithm
enum  { FAILURE =meas::base::FlagHandler::FAILURE, POS_FAILURE, NEG_FAILURE, N_FLAGS }
 
typedef DipoleFluxControl Control
 
typedef meas::base::FluxResultKey ResultKey
 

Public Member Functions

 NaiveDipoleFlux (Control const &ctrl, std::string const &name, afw::table::Schema &schema)
 
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::DipoleFluxAlgorithm
 DipoleFluxAlgorithm (Control const &ctrl, std::string const &name, afw::table::Schema &schema, std::string const &doc)
 
ResultKey const & getPositiveKeys () const
 Return the standard flux 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 ()
 

Private Attributes

Control _ctrl
 
afw::table::Key< int > _numPositiveKey
 
afw::table::Key< int > _numNegativeKey
 

Additional Inherited Members

- Protected Member Functions inherited from lsst::ip::diffim::DipoleFluxAlgorithm
 DipoleFluxAlgorithm (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 result key. More...
 
- Protected Attributes inherited from lsst::ip::diffim::DipoleFluxAlgorithm
Control _ctrl
 
meas::base::FluxResultKey _fluxResultKey
 
meas::base::FlagHandler _flagHandler
 
meas::base::SafeCentroidExtractor _centroidExtractor
 
ResultKey _positiveKeys
 
ResultKey _negativeKeys
 

Detailed Description

Definition at line 232 of file DipoleAlgorithms.h.

Member Typedef Documentation

Definition at line 235 of file DipoleAlgorithms.h.

Constructor & Destructor Documentation

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

Definition at line 237 of file DipoleAlgorithms.h.

237  :
238  DipoleFluxAlgorithm(ctrl, name, schema, "raw flux counts"),
239  _numPositiveKey(schema.addField<int>(name+"_npos", "number of positive pixels", "dn")),
240  _numNegativeKey(schema.addField<int>(name+"_nneg", "number of negative pixels", "dn"))
241  {
242  }
table::Key< std::string > name
Definition: ApCorrMap.cc:71
afw::table::Key< int > _numNegativeKey
afw::table::Schema schema
Definition: GaussianPsf.cc:41
DipoleFluxAlgorithm(Control const &ctrl, std::string const &name, afw::table::Schema &schema, std::string const &doc)
afw::table::Key< int > _numPositiveKey

Member Function Documentation

void lsst::ip::diffim::NaiveDipoleFlux::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 231 of file DipoleAlgorithms.cc.

231  {
232  _flagHandler.handleFailure(measRecord, error);
233 }
def error
Definition: log.py:108
void handleFailure(afw::table::BaseRecord &record, MeasurementError const *error=NULL) const
Definition: FlagHandler.cc:59
void lsst::ip::diffim::NaiveDipoleFlux::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 213 of file DipoleAlgorithms.cc.

216  {
217  typedef afw::image::Exposure<float>::MaskedImageT MaskedImageT;
218 
219  NaiveDipoleFootprinter functor(exposure.getMaskedImage());
220  functor.apply(*source.getFootprint());
221 
222  source.set(getPositiveKeys().getFlux(), functor.getSumPositive());
223  source.set(getPositiveKeys().getFluxSigma(), ::sqrt(functor.getVarPositive()));
224  source.set(_numPositiveKey, functor.getNumPositive());
225 
226  source.set(getNegativeKeys().getFlux(), functor.getSumNegative());
227  source.set(getNegativeKeys().getFluxSigma(), ::sqrt(functor.getVarNegative()));
228  source.set(_numNegativeKey, functor.getNumNegative());
229 }
afw::table::Key< int > _numNegativeKey
MaskedImage< float, lsst::afw::image::MaskPixel, lsst::afw::image::VariancePixel > MaskedImageT
Definition: Exposure.h:51
ResultKey const & getPositiveKeys() const
Return the standard flux keys registered by this algorithm.
ResultKey const & getNegativeKeys() const
afw::table::Key< int > _numPositiveKey

Member Data Documentation

Control lsst::ip::diffim::NaiveDipoleFlux::_ctrl
private

Definition at line 256 of file DipoleAlgorithms.h.

afw::table::Key<int> lsst::ip::diffim::NaiveDipoleFlux::_numNegativeKey
private

Definition at line 258 of file DipoleAlgorithms.h.

afw::table::Key<int> lsst::ip::diffim::NaiveDipoleFlux::_numPositiveKey
private

Definition at line 257 of file DipoleAlgorithms.h.


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