LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Member Functions | List of all members
lsst::meas::base::CircularApertureFluxAlgorithm Class Reference

#include <CircularApertureFlux.h>

Inheritance diagram for lsst::meas::base::CircularApertureFluxAlgorithm:
lsst::meas::base::ApertureFluxAlgorithm lsst::meas::base::SimpleAlgorithm lsst::meas::base::SingleFrameAlgorithm lsst::meas::base::ForcedAlgorithm lsst::meas::base::BaseAlgorithm lsst::meas::base::BaseAlgorithm

Public Member Functions

 CircularApertureFluxAlgorithm (Control const &ctrl, std::string const &name, afw::table::Schema &schema, daf::base::PropertySet &metadata)
 
virtual void measure (afw::table::SourceRecord &record, afw::image::Exposure< float > const &exposure) const
 
- Public Member Functions inherited from lsst::meas::base::ApertureFluxAlgorithm
 ApertureFluxAlgorithm (Control const &ctrl, std::string const &name, afw::table::Schema &schema, daf::base::PropertySet &metadata)
 
virtual ~ApertureFluxAlgorithm ()
 
virtual void fail (afw::table::SourceRecord &measRecord, MeasurementError *error=NULL) const
 
- Public Member Functions inherited from lsst::meas::base::SimpleAlgorithm
virtual void measureForced (afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure, afw::table::SourceRecord const &refRecord, afw::image::Wcs const &refWcs) const
 
virtual void measureNForced (afw::table::SourceCatalog const &measCat, afw::image::Exposure< float > const &exposure, afw::table::SourceCatalog const &refRecord, afw::image::Wcs const &refWcs) const
 
- Public Member Functions inherited from lsst::meas::base::SingleFrameAlgorithm
virtual void measureN (afw::table::SourceCatalog const &measCat, afw::image::Exposure< float > const &exposure) const
 
- Public Member Functions inherited from lsst::meas::base::BaseAlgorithm
virtual ~BaseAlgorithm ()
 

Additional Inherited Members

- Public Types inherited from lsst::meas::base::ApertureFluxAlgorithm
enum  FlagBits { FAILURE =0, APERTURE_TRUNCATED, SINC_COEFFS_TRUNCATED, N_FLAGS }
 
typedef ApertureFluxControl Control
 Typedef to the control object associated with this algorithm, defined above. More...
 
typedef ApertureFluxResult Result
 Result object returned by static methods. More...
 
- Static Public Member Functions inherited from lsst::meas::base::ApertureFluxAlgorithm
static std::string makeFieldPrefix (std::string const &name, double radius)
 
template<typename T >
static Result computeSincFlux (afw::image::Image< T > const &image, afw::geom::ellipses::Ellipse const &ellipse, Control const &ctrl=Control())
 
template<typename T >
static Result computeSincFlux (afw::image::MaskedImage< T > const &image, afw::geom::ellipses::Ellipse const &ellipse, Control const &ctrl=Control())
 
template<typename T >
static Result computeNaiveFlux (afw::image::Image< T > const &image, afw::geom::ellipses::Ellipse const &ellipse, Control const &ctrl=Control())
 
template<typename T >
static Result computeNaiveFlux (afw::image::MaskedImage< T > const &image, afw::geom::ellipses::Ellipse const &ellipse, Control const &ctrl=Control())
 
template<typename T >
static Result computeFlux (afw::image::Image< T > const &image, afw::geom::ellipses::Ellipse const &ellipse, Control const &ctrl=Control())
 
template<typename T >
static Result computeFlux (afw::image::MaskedImage< T > const &image, afw::geom::ellipses::Ellipse const &ellipse, Control const &ctrl=Control())
 
- Protected Member Functions inherited from lsst::meas::base::ApertureFluxAlgorithm
void copyResultToRecord (Result const &result, afw::table::SourceRecord &record, int index) const
 
FlagHandler const & getFlagHandler (int index) const
 
- Protected Attributes inherited from lsst::meas::base::ApertureFluxAlgorithm
Control const _ctrl
 
SafeCentroidExtractor _centroidExtractor
 

Detailed Description

Definition at line 38 of file CircularApertureFlux.h.

Constructor & Destructor Documentation

lsst::meas::base::CircularApertureFluxAlgorithm::CircularApertureFluxAlgorithm ( Control const &  ctrl,
std::string const &  name,
afw::table::Schema schema,
daf::base::PropertySet metadata 
)

Definition at line 31 of file CircularApertureFlux.cc.

36  : ApertureFluxAlgorithm(ctrl, name, schema, metadata)
37 {
38  for (std::size_t i = 0; i < ctrl.radii.size(); ++i) {
39  if (ctrl.radii[i] > ctrl.maxSincRadius) break;
40  SincCoeffs<float>::cache(0.0, ctrl.radii[i]);
41  }
42 }
table::Key< std::string > name
Definition: ApCorrMap.cc:71
afw::table::Schema schema
Definition: GaussianPsf.cc:41
ApertureFluxAlgorithm(Control const &ctrl, std::string const &name, afw::table::Schema &schema, daf::base::PropertySet &metadata)
Definition: ApertureFlux.cc:80
static void cache(float rInner, float rOuter)
Definition: SincCoeffs.cc:515

Member Function Documentation

void lsst::meas::base::CircularApertureFluxAlgorithm::measure ( afw::table::SourceRecord record,
afw::image::Exposure< float > const &  exposure 
) const
virtual

Measure the configured apertures on the given image.

Python plugins will delegate to this method.

Parameters
[in,out]recordRecord used to save outputs and retrieve positions.
[in]exposureImage to be measured.

Implements lsst::meas::base::ApertureFluxAlgorithm.

Definition at line 44 of file CircularApertureFlux.cc.

47  {
48  afw::geom::ellipses::Ellipse ellipse(afw::geom::ellipses::Axes(1.0, 1.0, 0.0));
49  PTR(afw::geom::ellipses::Axes) axes
50  = boost::static_pointer_cast<afw::geom::ellipses::Axes>(ellipse.getCorePtr());
51  for (std::size_t i = 0; i < _ctrl.radii.size(); ++i) {
52  // Each call to _centroidExtractor within this loop goes through exactly the same error-checking
53  // logic and returns the same result, but it's not expensive logic, so we just call it repeatedly
54  // instead of coming up with a new interface that would allow us to move it outside the loop.
55  ellipse.setCenter(_centroidExtractor(measRecord, getFlagHandler(i)));
56  axes->setA(_ctrl.radii[i]);
57  axes->setB(_ctrl.radii[i]);
58  ApertureFluxAlgorithm::Result result = computeFlux(exposure.getMaskedImage(), ellipse, _ctrl);
59  copyResultToRecord(result, measRecord, i);
60  }
61 }
for(FootprintList::const_iterator ptr=feet->begin(), end=feet->end();ptr!=end;++ptr)
Definition: saturated.cc:82
#define PTR(...)
Definition: base.h:41
void copyResultToRecord(Result const &result, afw::table::SourceRecord &record, int index) const
static Result computeFlux(afw::image::Image< T > const &image, afw::geom::ellipses::Ellipse const &ellipse, Control const &ctrl=Control())
FlagHandler const & getFlagHandler(int index) const
Definition: ApertureFlux.h:225
std::vector< double > radii
&quot;Radius (in pixels) of apertures.&quot; ;
Definition: ApertureFlux.h:50
ApertureFluxResult Result
Result object returned by static methods.
Definition: ApertureFlux.h:97
SafeCentroidExtractor _centroidExtractor
Definition: ApertureFlux.h:228

The documentation for this class was generated from the following files: