Class NaiveDipoleCentroid

Inheritance Relationships

Base Type

Class Documentation

class NaiveDipoleCentroid : public lsst::ip::diffim::DipoleCentroidAlgorithm

Intermediate base class for algorithms that compute a centroid.

Public Types

typedef meas::base::CentroidResultKey ResultKey

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.

Public Functions

NaiveDipoleCentroid(Control const &ctrl, std::string const &name, afw::table::Schema &schema)
ResultKey const &getCenterKeys() const

Return the standard centroid keys registered by this algorithm.

ResultKey const &getPositiveKeys() const
ResultKey const &getNegativeKeys() const
void measure(afw::table::SourceRecord &measRecord, afw::image::Exposure<float> const &exposure) const

Called to measure a single child source in an image.

Before this method is called, all neighbors will be replaced with noise, using the outputs of the deblender. Outputs should be saved in the given SourceRecord, which can also be used to obtain centroid (see SafeCentroidExtractor) and shape (see SafeShapeExtractor) information.

void mergeCentroids(afw::table::SourceRecord &source, double posValue, double negValue) const
void fail(afw::table::SourceRecord &measRecord, meas::base::MeasurementError *error = NULL) const

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.

Protected 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.