lsst.ip.diffim
20.0.0-3-gdd5c15c+c58204c3ec
|
Go to the documentation of this file.
25 #ifndef LSST_IP_DIFFIM_DIPOLEALGORITHMS_H
26 #define LSST_IP_DIFFIM_DIPOLEALGORITHMS_H
39 #include "lsst/pex/config.h"
40 #include "ndarray/eigen.h"
69 LSST_CONTROL_FIELD(
stepSizeCoord,
float,
"Default initial step size for coordinates in non-linear fitter");
70 LSST_CONTROL_FIELD(
stepSizeFlux,
float,
"Default initial step size for flux in non-linear fitter");
71 LSST_CONTROL_FIELD(
errorDef,
double,
"How many sigma the error bars of the non-linear fitter represent");
72 LSST_CONTROL_FIELD(
maxFnCalls,
int,
"Maximum function calls for non-linear fitter; 0 = unlimited");
218 _numPositiveKey(
schema.addField<int>(
name+
"_npos",
"number of positive pixels",
"count")),
219 _numNegativeKey(
schema.addField<int>(
name+
"_nneg",
"number of negative pixels",
"count"))
297 _chi2dofKey(
schema.addField<float>(
name+
"_chi2dof",
298 "chi2 per degree of freedom of fit"))
309 double negCenterX,
double negCenterY,
double negFlux,
310 double posCenterX,
double poCenterY,
double posFlux
335 #endif // !LSST_IP_DIFFIM_DIPOLEALGORITHMS_H
ResultKey const & getNegativeKeys() const
void fail(afw::table::SourceRecord &measRecord, meas::base::MeasurementError *error=NULL) const
DipoleCentroidControl Control
static meas::base::FlagDefinition const POS_FLAG
NaiveDipoleCentroid(Control const &ctrl, std::string const &name, afw::table::Schema &schema)
float stepSizeCoord
"Default initial step size for coordinates in non-linear fitter" ;
ResultKey const & getPositiveKeys() const
Return the standard centroid keys registered by this algorithm.
Intermediate base class for algorithms that compute a centroid.
meas::base::CentroidResultKey ResultKey
void measure(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure) const
Given an image and a pixel position, return a Centroid using a naive 3x3 weighted moment.
NaiveDipoleFlux(Control const &ctrl, std::string const &name, afw::table::Schema &schema)
DipoleFluxControl Control
A typedef to the Control object for this algorithm, defined above.
DipoleFluxAlgorithm(Control const &ctrl, std::string const &name, afw::table::Schema &schema, std::string const &doc)
void measure(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure) const
Given an image and a pixel position, return a Centroid using a naive 3x3 weighted moment.
Intermediate base class for algorithms that compute a flux.
meas::base::FlagHandler _flagHandler
Intermediate base class for algorithms that compute a centroid.
ResultKey const & getNegativeKeys() const
ResultKey const & getPositiveKeys() const
ResultKey const & getPositiveKeys() const
Return the standard flux keys registered by this algorithm.
static CentroidResultKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc, UncertaintyEnum uncertainty)
C++ control object for PSF dipole fluxes.
int maxFnCalls
"Maximum function calls for non-linear fitter; 0 = unlimited" ;
DipoleCentroidAlgorithm(Control const &ctrl, std::string const &name, afw::table::Schema &schema, std::string const &doc)
static meas::base::FlagDefinition const FAILURE
meas::base::FluxResultKey ResultKey
meas::base::FluxResultKey _fluxResultKey
meas::base::FluxResultKey _fluxResultKey
void fail(afw::table::SourceRecord &measRecord, meas::base::MeasurementError *error=NULL) const
std::pair< double, int > chi2(afw::table::SourceRecord &source, afw::image::Exposure< float > const &exposure, double negCenterX, double negCenterY, double negFlux, double posCenterX, double poCenterY, double posFlux) const
ResultKey const & getCenterKeys() const
Return the standard centroid keys registered by this algorithm.
static meas::base::FlagDefinitionList const & getFlagDefinitions()
static meas::base::FlagDefinition const NEG_FLAG
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.
Implementation of Psf dipole flux.
void mergeCentroids(afw::table::SourceRecord &source, double posValue, double negValue) const
void fail(afw::table::SourceRecord &measRecord, meas::base::MeasurementError *error=NULL) const
ResultKey const & getNegativeKeys() const
static meas::base::FlagDefinition const NEG_FLAG
meas::base::FlagHandler _flagHandler
static FluxResultKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc)
double errorDef
"How many sigma the error bars of the non-linear fitter represent" ;
PsfDipoleFluxControl Control
void measure(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure) const
PsfDipoleFlux(PsfDipoleFluxControl const &ctrl, std::string const &name, afw::table::Schema &schema)
float stepSizeFlux
"Default initial step size for flux in non-linear fitter" ;
static meas::base::FlagDefinition const POS_FLAG
static meas::base::FlagDefinitionList const & getFlagDefinitions()
static FlagHandler addFields(afw::table::Schema &schema, std::string const &prefix, FlagDefinitionList const &flagDefs, FlagDefinitionList const &exclDefs=FlagDefinitionList::getEmptyList())
meas::base::CentroidResultKey ResultKey
Tuple type that holds the keys that define a standard centroid algorithm.
DipoleFluxControl Control
static meas::base::FlagDefinition const FAILURE