25 #ifndef LSST_IP_DIFFIM_DIPOLEALGORITHMS_H 
   26 #define LSST_IP_DIFFIM_DIPOLEALGORITHMS_H 
   40 #include "ndarray/eigen.h" 
  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
 
table::Key< std::string > name
 
Defines the fields and offsets for a table.
 
Record class that contains measurements made on a single exposure.
 
Intermediate base class for algorithms that compute a centroid.
 
meas::base::FluxResultKey _fluxResultKey
 
DipoleCentroidControl Control
 
static meas::base::FlagDefinition const FAILURE
 
ResultKey const  & getPositiveKeys() const
Return the standard centroid keys registered by this algorithm.
 
meas::base::CentroidResultKey ResultKey
 
ResultKey const  & getNegativeKeys() const
 
static meas::base::FlagDefinition const POS_FLAG
 
static meas::base::FlagDefinition const NEG_FLAG
 
static meas::base::FlagDefinitionList const  & getFlagDefinitions()
 
DipoleCentroidAlgorithm(Control const &ctrl, std::string const &name, afw::table::Schema &schema, std::string const &doc)
 
meas::base::FlagHandler _flagHandler
 
Intermediate base class for algorithms that compute a flux.
 
meas::base::FluxResultKey ResultKey
 
static meas::base::FlagDefinitionList const  & getFlagDefinitions()
 
DipoleFluxControl Control
A typedef to the Control object for this algorithm, defined above.
 
static meas::base::FlagDefinition const POS_FLAG
 
static meas::base::FlagDefinition const NEG_FLAG
 
meas::base::FluxResultKey _fluxResultKey
 
DipoleFluxAlgorithm(Control const &ctrl, std::string const &name, afw::table::Schema &schema, std::string const &doc)
 
ResultKey const  & getNegativeKeys() const
 
meas::base::FlagHandler _flagHandler
 
static meas::base::FlagDefinition const FAILURE
 
ResultKey const  & getPositiveKeys() const
Return the standard flux keys registered by this algorithm.
 
Intermediate base class for algorithms that compute a centroid.
 
ResultKey const  & getNegativeKeys() const
 
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
 
meas::base::CentroidResultKey ResultKey
Tuple type that holds the keys that define a standard centroid algorithm.
 
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.
 
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.
 
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.
 
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.
 
DipoleFluxControl Control
 
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.
 
NaiveDipoleFlux(Control const &ctrl, std::string const &name, afw::table::Schema &schema)
 
C++ control object for PSF dipole fluxes.
 
float stepSizeCoord
"Default initial step size for coordinates in non-linear fitter" ;
 
double errorDef
"How many sigma the error bars of the non-linear fitter represent" ;
 
float stepSizeFlux
"Default initial step size for flux in non-linear fitter" ;
 
int maxFnCalls
"Maximum function calls for non-linear fitter; 0 = unlimited" ;
 
Implementation of Psf dipole flux.
 
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
 
PsfDipoleFluxControl Control
 
void measure(afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure) const
Called to measure a single child source in an image.
 
PsfDipoleFlux(PsfDipoleFluxControl const &ctrl, std::string const &name, afw::table::Schema &schema)
 
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.
 
A FunctorKey for CentroidResult.
 
static CentroidResultKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc, UncertaintyEnum uncertainty)
Add the appropriate fields to a Schema, and return a CentroidResultKey that manages them.
 
vector-type utility class to build a collection of FlagDefinitions
 
Utility class for handling flag fields that indicate the failure modes of an algorithm.
 
static FlagHandler addFields(afw::table::Schema &schema, std::string const &prefix, FlagDefinitionList const &flagDefs, FlagDefinitionList const &exclDefs=FlagDefinitionList::getEmptyList())
Add Flag fields to a schema, creating a FlagHandler object to manage them.
 
A FunctorKey for FluxResult.
 
static FluxResultKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc)
Add a pair of _instFlux, _instFluxErr fields to a Schema, and return a FluxResultKey that points to t...
 
Exception to be thrown when a measurement algorithm experiences a known failure mode.
 
An abstract base classes for which the same implementation can be used for both SingleFrameAlgorithm ...
 
#define LSST_CONTROL_FIELD(NAME, TYPE, DOC)
A preprocessor macro used to define fields in C++ "control object" structs.
 
const char * source()
Source function that allows astChannel to source from a Stream.
 
@ SIGMA_ONLY
Only the diagonal elements of the covariance matrix are provided.
 
A base class for image defects.
 
Simple class used to define and document flags The name and doc constitute the identity of the FlagDe...