lsst.meas.base
20.0.0+afde149f31
|
Go to the documentation of this file.
23 #include "ndarray/eigen.h"
31 FlagDefinitionList flagDefinitions;
36 flagDefinitions.add(
"flag_noCounts",
"Object to be centroided has no counts");
38 flagDefinitions.add(
"flag_edge",
"Object too close to edge");
49 _centroidChecker(
schema,
name, ctrl.doFootprintCheck, ctrl.maxDistToPeak) {}
53 geom::Point2D center = _centroidExtractor(measRecord, _flagHandler);
62 int x = center.getX();
63 int y = center.getY();
68 if (x < 1 || x >=
image.getWidth() - 1 || y < 1 || y >=
image.getHeight() - 1) {
72 ImageT::xy_locator im =
image.xy_at(
x,
y);
74 double const sum = (im(-1, 1) + im(0, 1) + im(1, 1) + im(-1, 0) + im(0, 0) + im(1, 0) + im(-1, -1) +
75 im(0, -1) + im(1, -1)) -
82 double const sum_x = -im(-1, 1) + im(1, 1) + -im(-1, 0) + im(1, 0) + -im(-1, -1) + im(1, -1);
83 double const sum_y = (im(-1, 1) + im(0, 1) + im(1, 1)) - (im(-1, -1) + im(0, -1) + im(1, -1));
88 _centroidChecker(measRecord);
101 if (
mapper.getInputSchema().getNames().count(
mapper.getInputSchema().join(name, flag.
name)) == 0)
104 mapper.getInputSchema().find<afw::table::Flag>(
name +
"_" + flag.
name).key;
double background
"Value to subtract from the image pixel values" ;
void handleFailure(afw::table::BaseRecord &record, MeasurementError const *error=nullptr) const
Handle an expected or unexpected Exception thrown by a measurement algorithm.
@ NO_UNCERTAINTY
Algorithm provides no uncertainy information at all.
virtual void fail(afw::table::SourceRecord &measRecord, MeasurementError *error=nullptr) const
Handle an exception thrown by the current algorithm by setting flags in the given record.
Exception to be thrown when a measurement algorithm experiences a known failure mode.
double indexToPosition(double ind)
A FunctorKey for CentroidResult.
static FlagDefinition const EDGE
A reusable struct for centroid measurements.
MaskedImageT getMaskedImage()
vector-type utility class to build a collection of FlagDefinitions
std::unique_ptr< SchemaItem< U > > result
Utility class for handling flag fields that indicate the failure modes of an algorithm.
NaiveCentroidAlgorithm(Control const &ctrl, std::string const &name, afw::table::Schema &schema)
#define LSST_EXCEPT(type,...)
std::size_t size() const
return the current size (number of defined elements) of the collection
Simple class used to define and document flags The name and doc constitute the identity of the FlagDe...
A C++ control class to handle NaiveCentroidAlgorithm's configuration.
static FlagDefinitionList const & getFlagDefinitions()
void set(Key< T > const &key, U const &value)
static FlagDefinition const NO_COUNTS
virtual void measure(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure) const
Called to measure a single child source in an image.
static FlagDefinition const FAILURE