lsst.meas.modelfit
19.0.0-6-g4aaee92+3
|
Go to the documentation of this file.
24 #ifndef LSST_MEAS_MODELFIT_SemiEmpiricalPrior_h_INCLUDED
25 #define LSST_MEAS_MODELFIT_SemiEmpiricalPrior_h_INCLUDED
27 #include "lsst/pex/config.h"
30 namespace lsst {
namespace meas {
namespace modelfit {
36 "Width of exponential ellipticity distribution (conformal shear units)."
41 "Softened core width for ellipticity distribution (conformal shear units)."
51 "ln(radius) at which the softened cutoff begins towards the minimum"
56 "Mean of the Student's T distribution used for ln(radius) at large radius, and the transition "
57 "point between a flat distribution and the Student's T."
62 "Width of the Student's T distribution in ln(radius)."
67 "Number of degrees of freedom for the Student's T distribution on ln(radius)."
93 ndarray::Array<Scalar const,1,1>
const & nonlinear,
94 ndarray::Array<Scalar const,1,1>
const & amplitudes
99 ndarray::Array<Scalar const,1,1>
const & nonlinear,
100 ndarray::Array<Scalar const,1,1>
const & amplitudes,
101 ndarray::Array<Scalar,1,1>
const & nonlinearGradient,
102 ndarray::Array<Scalar,1,1>
const & amplitudeGradient,
103 ndarray::Array<Scalar,2,1>
const & nonlinearHessian,
104 ndarray::Array<Scalar,2,1>
const & amplitudeHessian,
105 ndarray::Array<Scalar,2,1>
const & crossHessian
111 ndarray::Array<Scalar const,1,1>
const & nonlinear
117 ndarray::Array<Scalar const,1,1>
const & nonlinear,
118 ndarray::Array<Scalar,1,1>
const & amplitudes
124 ndarray::Array<Scalar const,1,1>
const & nonlinear,
126 ndarray::Array<Scalar,2,1>
const & amplitudes,
127 ndarray::Array<Scalar,1,1>
const & weights,
128 bool multiplyWeights=
false
140 #endif // !LSST_MEAS_MODELFIT_SemiEmpiricalPrior_h_INCLUDED
double ellipticitySigma
"Width of exponential ellipticity distribution (conformal shear units)." ;
SemiEmpiricalPriorControl()
Base class for Bayesian priors.
double Scalar
Typedefs to be used for probability and parameter values.
double logRadiusSigma
"Width of the Student's T distribution in ln(radius)." ;
Scalar maximize(Vector const &gradient, Matrix const &hessian, ndarray::Array< Scalar const, 1, 1 > const &nonlinear, ndarray::Array< Scalar, 1, 1 > const &litudes) const override
Compute the amplitude vector that maximizes the prior x likelihood product.
SemiEmpiricalPrior(Control const &ctrl=Control())
double logRadiusMu
"Mean of the Student's T distribution used for ln(radius) at large radius, and the transition " "poin...
A piecewise prior motivated by both real distributions and practical considerations.
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
void validate() const
Raise InvalidParameterException if the configuration options are invalid.
Scalar evaluate(ndarray::Array< Scalar const, 1, 1 > const &nonlinear, ndarray::Array< Scalar const, 1, 1 > const &litudes) const override
Evaluate the prior at the given point in nonlinear and amplitude space.
double logRadiusNu
"Number of degrees of freedom for the Student's T distribution on ln(radius)." ;
void evaluateDerivatives(ndarray::Array< Scalar const, 1, 1 > const &nonlinear, ndarray::Array< Scalar const, 1, 1 > const &litudes, ndarray::Array< Scalar, 1, 1 > const &nonlinearGradient, ndarray::Array< Scalar, 1, 1 > const &litudeGradient, ndarray::Array< Scalar, 2, 1 > const &nonlinearHessian, ndarray::Array< Scalar, 2, 1 > const &litudeHessian, ndarray::Array< Scalar, 2, 1 > const &crossHessian) const override
Evaluate the derivatives of the prior at the given point in nonlinear and amplitude space.
double ellipticityCore
"Softened core width for ellipticity distribution (conformal shear units)." ;
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > Matrix
double logRadiusMinInner
"ln(radius) at which the softened cutoff begins towards the minimum" ;
void drawAmplitudes(Vector const &gradient, Matrix const &fisher, ndarray::Array< Scalar const, 1, 1 > const &nonlinear, afw::math::Random &rng, ndarray::Array< Scalar, 2, 1 > const &litudes, ndarray::Array< Scalar, 1, 1 > const &weights, bool multiplyWeights=false) const override
Draw a set of Monte Carlo amplitude vectors.
SemiEmpiricalPriorControl Control
double logRadiusMinOuter
"Minimum ln(radius)." ;
Scalar marginalize(Vector const &gradient, Matrix const &hessian, ndarray::Array< Scalar const, 1, 1 > const &nonlinear) const override
Return the -log amplitude integral of the prior*likelihood product.