lsst.meas.modelfit
20.0.0+445d2e5176
|
Go to the documentation of this file.
24 #ifndef LSST_MEAS_MODELFIT_GeneralPsfFitter_h_INCLUDED
25 #define LSST_MEAS_MODELFIT_GeneralPsfFitter_h_INCLUDED
29 #include "lsst/pex/config.h"
41 namespace lsst {
namespace meas {
namespace modelfit {
56 "shapelet order for this component; negative to disable this component completely"
60 "sigma (in pixels) in an isotropic 2-d Gaussian prior on the center of this shapelet component, "
61 "relative to the center of the PSF image"
65 "sigma in an isotropic 2-d Gaussian prior on the conformal-shear ellipticity eta"
69 "Sets the fiducial radius of this component relative to the 'primary radius' of the PSF: either "
70 "the second-moments radius of the PSF image (in an initial fit), or the radius of the primary "
71 "component in a previous fit. Ignored if the previous fit included this component (as then we "
72 "can just use that radius)."
76 "sigma in a Gaussian prior on ln(radius/fiducialRadius)"
96 LSST_NESTED_CONTROL_FIELD(
98 "Innermost shapelet expansion, used to fit PSFs with very sharp cores"
101 LSST_NESTED_CONTROL_FIELD(
103 "Primary shapelet expansion, typically used to fit the bulk of the PSF "
106 LSST_NESTED_CONTROL_FIELD(
108 "Wing shapelet expansion (between primary and outer), typically used to fit the wings of the PSF"
111 LSST_NESTED_CONTROL_FIELD(
113 "Outermost shapelet expansion, used to fit PSFs with very broad wings"
116 LSST_NESTED_CONTROL_FIELD(
118 "Configuration of the optimizer used to do the fitting"
122 defaultNoiseSigma,
double,
"Default value for the noiseSigma parameter in GeneralPsfFitter.apply()"
219 int * pState =
nullptr
225 int * pState =
nullptr
249 int * pState =
nullptr
255 int * pState =
nullptr
319 ndarray::Array<Pixel const,2,1>
const & image,
323 ndarray::Array<Scalar const,1,1>
const & fixed
327 ndarray::Array<Pixel,2,-1>
const & modelMatrix,
328 ndarray::Array<Scalar const,1,1>
const & nonlinear,
329 bool doApplyWeights=
true
341 #endif // !LSST_MEAS_MODELFIT_GeneralPsfFitter_h_INCLUDED
GeneralPsfFitterControl Control
void computeModelMatrix(ndarray::Array< Pixel, 2,-1 > const &modelMatrix, ndarray::Array< Scalar const, 1, 1 > const &nonlinear, bool doApplyWeights=true) const override
Evaluate the model for the given vector of nonlinear parameters.
GeneralPsfFitterComponentControl wings
"Wing shapelet expansion (between primary and outer), typically used to fit the wings of the PSF" ;
Base class for Bayesian priors.
Control object used to define one piece of multishapelet fit to a PSF model; see GeneralPsfFitterCont...
double ellipticityPriorSigma
"sigma in an isotropic 2-d Gaussian prior on the conformal-shear ellipticity eta" ;
void measure(afw::table::SourceRecord &measRecord, afw::image::Image< double > const &image, shapelet::MultiShapeletFunction const &initial) const
void measure(afw::table::SourceRecord &measRecord, afw::image::Image< double > const &image, afw::geom::ellipses::Quadrupole const &moments) const
double Scalar
Typedefs to be used for probability and parameter values.
static base::FlagDefinitionList const & getFlagDefinitions()
GeneralPsfFitterControl()
Abstract base class and concrete factories that define multi-shapelet galaxy models.
int order
"shapelet order for this component; negative to disable this component completely" ;
shapelet::MultiShapeletFunction apply(afw::image::Image< Pixel > const &image, shapelet::MultiShapeletFunction const &initial, Scalar noiseSigma=-1, int *pState=nullptr) const
Perform a fit to a PSF image, using a previous fit as a starting point.
Base class for optimizer/sampler likelihood functions that compute likelihood at a point.
Control object used to configure a multishapelet fit to a PSF model; see GeneralPsfFitter.
Class for fitting multishapelet models to PSF images.
void fail(afw::table::SourceRecord &measRecord, lsst::meas::base::MeasurementError *error=nullptr) const
double positionPriorSigma
"sigma (in pixels) in an isotropic 2-d Gaussian prior on the center of this shapelet component,...
Configuration object for Optimizer.
double radiusPriorSigma
"sigma in a Gaussian prior on ln(radius/fiducialRadius)" ;
shapelet::MultiShapeletFunction apply(afw::image::Image< double > const &image, shapelet::MultiShapeletFunction const &initial, Scalar noiseSigma=-1, int *pState=nullptr) const
shapelet::MultiShapeletFunction apply(afw::image::Image< double > const &image, afw::geom::ellipses::Quadrupole const &moments, Scalar noiseSigma=-1, int *pState=nullptr) const
GeneralPsfFitterComponentControl outer
"Outermost shapelet expansion, used to fit PSFs with very broad wings" ;
MultiShapeletPsfLikelihood(ndarray::Array< Pixel const, 2, 1 > const &image, geom::Point2I const &xy0, boost::shared_ptr< Model > model, Scalar sigma, ndarray::Array< Scalar const, 1, 1 > const &fixed)
GeneralPsfFitterAlgorithm(GeneralPsfFitterControl const &ctrl, afw::table::Schema &schema, std::string const &prefix)
static base::FlagDefinition const EXCEPTION
virtual ~MultiShapeletPsfLikelihood()
Likelihood object used to fit multishapelet models to PSF model images; mostly for internal use by Ge...
double radiusFactor
"Sets the fiducial radius of this component relative to the 'primary radius' of the PSF: either " "th...
static base::FlagDefinition const MAX_INNER_ITERATIONS
boost::shared_ptr< Model > getModel() const
Return the Model object that corresponds to the configuration.
shapelet::MultiShapeletFunction apply(afw::image::Image< Pixel > const &image, afw::geom::ellipses::Quadrupole const &moments, Scalar noiseSigma=-1, int *pState=nullptr) const
Perform an initial fit to a PSF image.
static base::FlagDefinition const CONTAINS_NAN
GeneralPsfFitter(GeneralPsfFitterControl const &ctrl)
Initialize the fitter class with the given control object.
shapelet::MultiShapeletFunctionKey addFields(afw::table::Schema &schema, std::string const &prefix) const
Add fields to a Schema that can be used to store the MultiShapeletFunction returned by apply().
GeneralPsfFitterComponentControl primary
"Primary shapelet expansion, typically used to fit the bulk of the PSF " ;
GeneralPsfFitterComponentControl inner
"Innermost shapelet expansion, used to fit PSFs with very sharp cores" ;
shapelet::MultiShapeletFunctionKey getKey()
OptimizerControl optimizer
"Configuration of the optimizer used to do the fitting" ;
static base::FlagDefinition const FAILURE
shapelet::MultiShapeletFunction adapt(shapelet::MultiShapeletFunction const &previousFit, boost::shared_ptr< Model > previousModel) const
Adapt a differently-configured previous fit to be used as an starting point for this GeneralPsfFitter...
boost::shared_ptr< Prior > getPrior() const
Return the Prior object that corresponds to the configuration.
GeneralPsfFitterComponentControl(int order_=0, double radiusFactor_=1.0)
double defaultNoiseSigma
"Default value for the noiseSigma parameter in GeneralPsfFitter.apply()" ;
static base::FlagDefinition const MAX_OUTER_ITERATIONS