LSST Applications g063fba187b+fee0456c91,g0f08755f38+ea96e5a5a3,g1653933729+a8ce1bb630,g168dd56ebc+a8ce1bb630,g1a2382251a+90257ff92a,g20f6ffc8e0+ea96e5a5a3,g217e2c1bcf+937a289c59,g28da252d5a+daa7da44eb,g2bbee38e9b+253935c60e,g2bc492864f+253935c60e,g3156d2b45e+6e55a43351,g32e5bea42b+31359a2a7a,g347aa1857d+253935c60e,g35bb328faa+a8ce1bb630,g3a166c0a6a+253935c60e,g3b1af351f3+a8ce1bb630,g3e281a1b8c+c5dd892a6c,g414038480c+416496e02f,g41af890bb2+afe91b1188,g599934f4f4+0db33f7991,g7af13505b9+e36de7bce6,g80478fca09+da231ba887,g82479be7b0+a4516e59e3,g858d7b2824+ea96e5a5a3,g89c8672015+f4add4ffd5,g9125e01d80+a8ce1bb630,ga5288a1d22+bc6ab8dfbd,gb58c049af0+d64f4d3760,gc28159a63d+253935c60e,gcab2d0539d+3f2b72788c,gcf0d15dbbd+4ea9c45075,gda6a2b7d83+4ea9c45075,gdaeeff99f8+1711a396fd,ge79ae78c31+253935c60e,gef2f8181fd+3031e3cf99,gf0baf85859+c1f95f4921,gfa517265be+ea96e5a5a3,gfa999e8aa5+17cd334064,w.2024.50
LSST Data Management Base Package
|
Measure the image moments of source using adaptive Gaussian weights. More...
#include <SdssShape.h>
Public Types | |
typedef SdssShapeControl | Control |
typedef SdssShapeResult | Result |
typedef SdssShapeResultKey | ResultKey |
Public Member Functions | |
SdssShapeAlgorithm (Control const &ctrl, std::string const &name, afw::table::Schema &schema) | |
virtual void | measure (afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure) const |
Called to measure a single child source in an 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. | |
template<typename ImageT > | |
SdssShapeResult | computeAdaptiveMoments (ImageT const &image, geom::Point2D const ¢er, bool negative, Control const &control) |
void | measureForced (afw::table::SourceRecord &measRecord, afw::image::Exposure< float > const &exposure, afw::table::SourceRecord const &refRecord, afw::geom::SkyWcs const &refWcs) const override |
Called to measure a single child source in an image. | |
void | measureNForced (afw::table::SourceCatalog const &measCat, afw::image::Exposure< float > const &exposure, afw::table::SourceCatalog const &refRecord, afw::geom::SkyWcs const &refWcs) const override |
Called to simultaneously measure all children in a deblend family, in a single image. | |
virtual void | measureN (afw::table::SourceCatalog const &measCat, afw::image::Exposure< float > const &exposure) const |
Called to simultaneously measure all children in a deblend family, in a single image. | |
std::string | getLogName () const |
Static Public Member Functions | |
static FlagDefinitionList const & | getFlagDefinitions () |
template<typename ImageT > | |
static Result | computeAdaptiveMoments (ImageT const &image, geom::Point2D const &position, bool negative=false, Control const &ctrl=Control()) |
Compute the adaptive Gaussian-weighted moments of an image. | |
template<typename ImageT > | |
static FluxResult | computeFixedMomentsFlux (ImageT const &image, afw::geom::ellipses::Quadrupole const &shape, geom::Point2D const &position) |
Compute the instFlux within a fixed Gaussian aperture. | |
Static Public Attributes | |
static unsigned int const | N_FLAGS = 6 |
static FlagDefinition const | FAILURE = flagDefinitions.addFailureFlag() |
static FlagDefinition const | UNWEIGHTED_BAD |
static FlagDefinition const | UNWEIGHTED |
static FlagDefinition const | SHIFT |
static FlagDefinition const | MAXITER |
static FlagDefinition const | PSF_SHAPE_BAD |
Protected Attributes | |
std::string | _logName |
Measure the image moments of source using adaptive Gaussian weights.
This algorithm measures the weighted second moments of an image using a Gaussian weight function, which is iteratively updated to match the current weights. If this iteration does not converge, it can fall back to using unweighted moments, which can be significantly noisier.
See Bernstein & Jarvis, 2002, for more information on this type of algorithm. Note that the code here makes no attempt to correct for the PSF; for PSF corrected ellipticities using weighted moments please use the shapeHSM package.
Definition at line 150 of file SdssShape.h.
Definition at line 162 of file SdssShape.h.
Definition at line 163 of file SdssShape.h.
Definition at line 164 of file SdssShape.h.
lsst::meas::base::SdssShapeAlgorithm::SdssShapeAlgorithm | ( | Control const & | ctrl, |
std::string const & | name, | ||
afw::table::Schema & | schema ) |
Definition at line 759 of file SdssShape.cc.
SdssShapeResult lsst::meas::base::SdssShapeAlgorithm::computeAdaptiveMoments | ( | ImageT const & | image, |
geom::Point2D const & | center, | ||
bool | negative, | ||
Control const & | control ) |
Definition at line 766 of file SdssShape.cc.
|
static |
Compute the adaptive Gaussian-weighted moments of an image.
[in] | image | An Image or MaskedImage instance with int, float, or double pixels. This need not be a small postage stamp (the pixel region actually used in the fit will be a subset of this image determined automatically). |
[in] | position | Center position of the object to be measured, in the image's PARENT coordinates. |
[in] | negative | Boolean, specify if the source is in negative instFlux space |
[in] | ctrl | Control object specifying the details of how the object is to be measured. |
|
static |
Compute the instFlux within a fixed Gaussian aperture.
[in] | image | An Image or MaskedImage instance with int, float, or double pixels. This need not be a small postage stamp (the pixel region actually used in the fit will be a subset of this image determined automatically). |
[in] | shape | Ellipse object specifying the 1-sigma contour of the Gaussian. |
[in] | position | Center position of the object to be measured, in the image's PARENT coordinates. |
Definition at line 834 of file SdssShape.cc.
|
virtual |
Handle an exception thrown by the current algorithm by setting flags in the given record.
fail() is called by the measurement framework when an exception is allowed to propagate out of one the algorithm's measure() methods. It should generally set both a general failure flag for the algorithm as well as a specific flag indicating the error condition, if possible. To aid in this, if the exception was an instance of MeasurementError, it will be passed in, carrying information about what flag to set.
An algorithm can also to chose to set flags within its own measure() methods, and then just return, rather than throw an exception. However, fail() should be implemented even when all known failure modes do not throw exceptions, to ensure that unexpected exceptions thrown in lower-level code are properly handled.
Implements lsst::meas::base::BaseAlgorithm.
Definition at line 916 of file SdssShape.cc.
|
static |
Definition at line 58 of file SdssShape.cc.
|
inlineinherited |
Definition at line 66 of file Algorithm.h.
|
virtual |
Called to measure a single child source in an image.
Before this method is called, all neighbors will be replaced with noise, using the outputs of the deblender. Outputs should be saved in the given SourceRecord, which can also be used to obtain centroid (see SafeCentroidExtractor) and shape (see SafeShapeExtractor) information.
Implements lsst::meas::base::SingleFrameAlgorithm.
Definition at line 881 of file SdssShape.cc.
|
inlineoverridevirtualinherited |
Called to measure a single child source in an image.
Before this method is called, all neighbors will be replaced with noise, using the outputs of the deblender. Outputs should be saved in the given SourceRecord, which can also be used to obtain centroid (see SafeCentroidExtractor) and shape (see SafeShapeExtractor) information.
Implements lsst::meas::base::ForcedAlgorithm.
Reimplemented in lsst::meas::extensions::photometryKron::KronFluxAlgorithm.
Definition at line 172 of file Algorithm.h.
|
virtualinherited |
Called to simultaneously measure all children in a deblend family, in a single image.
Outputs should be saved in the given SourceCatalog, which can also be used to obtain centroid (see SafeCentroidExtractor) and shape (see SafeShapeExtractor) information.
The default implementation simply throws an exception, indicating that simultaneous measurement is not supported.
Definition at line 31 of file Algorithm.cc.
|
inlineoverridevirtualinherited |
Called to simultaneously measure all children in a deblend family, in a single image.
Outputs should be saved in the given SourceCatalog, which can also be used to obtain centroid (see SafeCentroidExtractor) and shape (see SafeShapeExtractor) information.
The default implementation simply throws an exception, indicating that simultaneous measurement is not supported.
Reimplemented from lsst::meas::base::ForcedAlgorithm.
Definition at line 179 of file Algorithm.h.
|
protectedinherited |
Definition at line 69 of file Algorithm.h.
|
static |
Definition at line 155 of file SdssShape.h.
|
static |
Definition at line 159 of file SdssShape.h.
|
static |
Definition at line 154 of file SdssShape.h.
|
static |
Definition at line 160 of file SdssShape.h.
|
static |
Definition at line 158 of file SdssShape.h.
|
static |
Definition at line 157 of file SdssShape.h.
|
static |
Definition at line 156 of file SdssShape.h.