24#ifndef LSST_MEAS_BASE_ApertureFlux_h_INCLUDED
25#define LSST_MEAS_BASE_ApertureFlux_h_INCLUDED
57 "Maximum radius (in pixels) for which the sinc algorithm should be used instead of the "
58 "faster naive algorithm. For elliptical apertures, this is the minor axis radius.");
62 "Warping kernel used to shift Sinc photometry coefficients to different center positions");
106 template <
typename T>
110 template <
typename T>
126 template <
typename T>
130 template <
typename T>
148 template <
typename T>
152 template <
typename T>
219 bool getFlag(
unsigned int index)
const {
return _flags[index]; }
227 void setFlag(
unsigned int index,
bool value =
true) { _flags[index] = value; }
230 void unsetFlag(
unsigned int index) { _flags[index] =
false; }
table::Key< std::string > name
table::Key< table::Array< std::uint8_t > > wcs
A 2-dimensional celestial WCS that transform pixels to ICRS RA/Dec, using the LSST standard for pixel...
An ellipse defined by an arbitrary BaseCore and a center point.
A class to contain the data, WCS, and other information needed to describe an image of the sky.
A class to represent a 2-dimensional array of pixels.
A class to manipulate images, masks, and variance as a single object.
The photometric calibration of an exposure.
Defines the fields and offsets for a table.
A mapping between the keys of two Schemas, used to copy data between them.
Record class that contains measurements made on a single exposure.
Class for storing generic metadata.
Base class for multiple-aperture photometry algorithms.
SafeCentroidExtractor _centroidExtractor
ApertureFluxAlgorithm(Control const &ctrl, std::string const &name, afw::table::Schema &schema, daf::base::PropertySet &metadata)
Construct the algorithm and add its fields to the given Schema.
void copyResultToRecord(Result const &result, afw::table::SourceRecord &record, int index) const
static FlagDefinitionList const & getFlagDefinitions()
ApertureFluxControl Control
static FlagDefinition const FAILURE
static unsigned int const N_FLAGS
static FlagDefinition const SINC_COEFFS_TRUNCATED
static std::string makeFieldPrefix(std::string const &name, double radius)
Construct an appropriate prefix for table fields.
virtual ~ApertureFluxAlgorithm()
static Result computeSincFlux(afw::image::Image< T > const &image, afw::geom::ellipses::Ellipse const &ellipse, Control const &ctrl=Control())
Compute the instFlux (and optionally, uncertanties) within an aperture using Sinc photometry.
static Result computeFlux(afw::image::Image< T > const &image, afw::geom::ellipses::Ellipse const &ellipse, Control const &ctrl=Control())
Compute the instFlux (and optionally, uncertanties) within an aperture using the algorithm determined...
static FlagDefinition const APERTURE_TRUNCATED
ApertureFluxResult Result
Result object returned by static methods.
FlagHandler const & getFlagHandler(int index) const
static Result computeNaiveFlux(afw::image::Image< T > const &image, afw::geom::ellipses::Ellipse const &ellipse, Control const &ctrl=Control())
Compute the instFlux (and optionally, uncertanties) within an aperture using naive photometry.
virtual void measure(afw::table::SourceRecord &record, afw::image::Exposure< float > const &exposure) const =0
Measure the configured apertures on the given image.
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.
Configuration object for multiple-aperture flux algorithms.
std::string shiftKernel
"Warping kernel used to shift Sinc photometry coefficients to different center positions" ;
double maxSincRadius
"Maximum radius (in pixels) for which the sinc algorithm should be used instead of the " "faster naiv...
std::vector< double > radii
"Radius (in pixels) of apertures." ;
vector-type utility class to build a collection of FlagDefinitions
FlagDefinition getDefinition(std::size_t index) const
get a reference to the FlagDefinition with specified index.
Utility class for handling flag fields that indicate the failure modes of an algorithm.
A FunctorKey for FluxResult.
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.
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects.
A base class for image defects.
A Result struct for running an aperture flux algorithm with a single radius.
bool getFlag(std::string const &name) const
Return the flag value associated with the given flag name.
bool getFlag(unsigned int index) const
Return the flag value associated with the given bit.
void setFlag(unsigned int index, bool value=true)
Set the flag value associated with the given bit.
void unsetFlag(unsigned int index)
Clear (i.e. set to false) the flag associated with the given bit.
Simple class used to define and document flags The name and doc constitute the identity of the FlagDe...
A reusable result struct for instFlux measurements.