|
LSST Applications g013ef56533+b8d55c8942,g083dd6704c+a047e97985,g199a45376c+0ba108daf9,g1fd858c14a+7a3b874d60,g210f2d0738+7416ca6900,g262e1987ae+1d557ba9a3,g29ae962dfc+519d34895e,g2cef7863aa+aef1011c0b,g30d7c61c20+36d16ea71a,g35bb328faa+8c5ae1fdc5,g3fd5ace14f+cb326ad149,g47891489e3+f459a6810c,g53246c7159+8c5ae1fdc5,g54cd7ddccb+890c8e1e5d,g5a60e81ecd+6240c63dbc,g64539dfbff+7416ca6900,g67b6fd64d1+f459a6810c,g6ebf1fc0d4+8c5ae1fdc5,g74acd417e5+0bae3c876a,g786e29fd12+668abc6043,g87389fa792+8856018cbb,g89139ef638+f459a6810c,g8d7436a09f+dee7680868,g8ea07a8fe4+81eaaadc04,g90f42f885a+34c0557caf,g97be763408+14b8164b5b,g98a1a72a9c+8389601a76,g98df359435+fff771c62d,gb8cb2b794d+6728931916,gbf99507273+8c5ae1fdc5,gc2a301910b+7416ca6900,gca7fc764a6+f459a6810c,gd7ef33dd92+f459a6810c,gdab6d2f7ff+0bae3c876a,ge410e46f29+f459a6810c,ge41e95a9f2+7416ca6900,geaed405ab2+e3b4b2a692,gf9a733ac38+8c5ae1fdc5,w.2025.43
LSST Data Management Base Package
|
A collection of Sources comprising a ParametricModel of Data. More...
#include <model.h>
Public Types | |
| typedef GaussianEvaluator< T, Image, Indices > | Evaluator |
| typedef std::map< std::reference_wrapper< const Channel >, std::vector< std::unique_ptr< const Gaussians > > > | GaussiansMap |
| typedef Data< T, Image, Mask > | ModelData |
| typedef ModelData::Observation | Observation |
Public Member Functions | |
| Model (std::shared_ptr< const ModelData > data, PsfModels &psfmodels, Sources &sources, Priors &priors) | |
| Construct a Model instance from Data, PsfModels, Sources and Priors. | |
| void | add_extra_param_map (const Channel &channel, ExtraParamMap &map_extra, const GradParamMap &map_grad, ParameterMap &offsets) const override |
| Add extra Parameter indices to a map. | |
| void | add_extra_param_factors (const Channel &channel, ExtraParamFactors &factors) const override |
| Add extra Parameter gradient factors to an existing vector. | |
| void | add_grad_param_map (const Channel &channel, GradParamMap &map, ParameterMap &offsets) const override |
| Add Parameter gradient indices to an existing map. | |
| void | add_grad_param_factors (const Channel &channel, GradParamFactors &factors) const override |
| Add Parameter gradient factors to an existing map. | |
| std::vector< double > | compute_loglike_grad (bool include_prior=true, bool print=false, bool verify=false, double findiff_frac=1e-5, double findiff_add=1e-5, double rtol=1e-3, double atol=1e-8) |
| Compute the gradient (partial first derivative) of the log-likelihood for each free parameter. | |
| std::unique_ptr< Image > | compute_hessian (bool transformed=false, bool include_prior=true, std::optional< HessianOptions > options=std::nullopt, bool print=false) |
| Compute the Hessian matrix (second order partial derivatives) of the log likehood. | |
| std::vector< double > | evaluate (bool print=false, bool normalize_loglike=false) |
| Evaluate the model for every Observation in _data. | |
| double | evaluate_observation (size_t idx) |
| Evaluate a single observation with the given index in _data. | |
| std::shared_ptr< const ModelData > | get_data () const |
| Return _data. | |
| EvaluatorMode | get_mode () const |
| std::unique_ptr< const lsst::gauss2d::Gaussians > | get_gaussians (const Channel &channel) const override |
| Return the vector of Gaussian sub-components controlled by this model. | |
| std::vector< double > | get_loglike_const_terms () |
| Get the constant (variance-dependent) terms of the log likelihood for each observation. | |
| size_t | get_n_gaussians (const Channel &channel) const override |
| Return the number of Gaussian sub-components controlled by this model. | |
| std::vector< std::shared_ptr< Image > > | get_outputs () const |
| Return _outputs (output Image instances for each Observation in _data) | |
| std::vector< std::pair< ParamBaseCRef, size_t > > | get_offsets_parameters () const |
| ParamRefs & | get_parameters (ParamRefs ¶ms, ParamFilter *filter=nullptr) const override |
| Add Parameter refs matching the filter to a vector, in order. | |
| ParamCRefs & | get_parameters_const (ParamCRefs ¶ms, ParamFilter *filter=nullptr) const override |
| Same as get_parameters(), but for const refs. | |
| ParamRefs & | get_parameters_observation (ParamRefs ¶ms, size_t idx, ParamFilter *filter=nullptr) const |
| Same as get_parameters(), but for a single Observation with index idx in _data. | |
| ParamCRefs & | get_parameters_observation_const (ParamCRefs ¶ms, size_t idx, ParamFilter *filter=nullptr) const |
| Same as get_parameters_const(), but for a single Observation with index idx in _data. | |
| Priors | get_priors () const |
| Return _priors, the list of Prior instances. | |
| PsfModels | get_psfmodels () const |
| Return _psfmodels, the list of PsfModel instances for each Observation in _data. | |
| Sources | get_sources () const |
| Return _sources, the list of Source instances for each Observation in _data. | |
| void | set_extra_param_factors (const Channel &channel, ExtraParamFactors &factors, size_t index) const override |
| Set extra Parameter gradient factors in an existing map. | |
| void | set_grad_param_factors (const Channel &channel, GradParamFactors &factors, size_t index) const override |
| Set Parameter gradient factors in an existing map. | |
| void | setup_evaluators (EvaluatorMode mode=EvaluatorMode::image, std::vector< std::vector< std::shared_ptr< Image > > > outputs={}, std::vector< std::shared_ptr< Image > > residuals={}, std::vector< std::shared_ptr< Image > > outputs_prior={}, std::shared_ptr< Image > residuals_prior=nullptr, bool force=false, bool print=false) |
| Setup Evaluator instances for every Observation in _data using the given EvaluatorMode. | |
| size_t | size () const |
| Get the size of this->_data. | |
| std::string | repr (bool name_keywords=false, std::string_view namespace_separator=Object::CC_NAMESPACE_SEPARATOR) const override |
| Return a full, callable string representation of this. | |
| std::string | str () const override |
| Return a brief, human-readable string representation of this. | |
| std::vector< std::string > | verify_jacobian (double findiff_frac=1e-5, double findiff_add=1e-5, double rtol=1e-3, double atol=1e-3, double max_ll_diff=0) |
| Verify that the Jacobian is correct by comparing to finite differences. | |
| ParamRefs | get_parameters_new (ParamFilter *filter=nullptr) const |
| Same as get_parameters(), but returning a new vector. | |
| ParamCRefs | get_parameters_const_new (ParamFilter *filter=nullptr) const |
| Same as get_parameters_const(), but returning a new vector. | |
Static Public Member Functions | |
| static std::string_view | null_str (const std::string_view &namespace_separator) |
Static Public Attributes | |
| static constexpr std::string_view | CC_NAMESPACE_SEPARATOR = "::" |
| The C++ namespace separator. | |
| static constexpr std::string_view | NULL_STR_GENERAL = "None" |
| static constexpr std::string_view | PY_NAMESPACE_SEPARATOR = "." |
A collection of Sources comprising a ParametricModel of Data.
| typedef GaussianEvaluator<T, Image, Indices> lsst::gauss2d::fit::Model< T, Image, Indices, Mask >::Evaluator |
| typedef std::map<std::reference_wrapper<const Channel>, std::vector<std::unique_ptr<const Gaussians> > > lsst::gauss2d::fit::Model< T, Image, Indices, Mask >::GaussiansMap |
| typedef ModelData::Observation lsst::gauss2d::fit::Model< T, Image, Indices, Mask >::Observation |
|
inlineexplicit |
Construct a Model instance from Data, PsfModels, Sources and Priors.
| data | The data to model. |
| psfmodels | A vector of PSF models, ordered to match each Observation in data. |
| sources | A vector of Source models. |
| priors | A vector of Prior likelihoods. |
Definition at line 94 of file model.h.
|
inlineoverridevirtual |
Add extra Parameter gradient factors to an existing vector.
| channel | The Channel to add factors for. |
| factors | The ExtraParamFactors to add to. |
Implements lsst::gauss2d::fit::ParametricModel.
Definition at line 681 of file model.h.
|
inlineoverridevirtual |
Add extra Parameter indices to a map.
| channel | The Channel to add indices for. |
| map_extra | The ExtraParamMap to add to. |
| map_grad | The completed GradParamMap. |
| offsets | A map of index offsets for Parameters that have already been added. |
Implements lsst::gauss2d::fit::ParametricModel.
Definition at line 677 of file model.h.
|
inlineoverridevirtual |
Add Parameter gradient factors to an existing map.
| channel | The Channel to add factors for. |
| factors | The GradParamFactors to add to. |
Implements lsst::gauss2d::fit::ParametricModel.
Definition at line 687 of file model.h.
|
inlineoverridevirtual |
Add Parameter gradient indices to an existing map.
| channel | The Channel to add indices for. |
| map | The map to add to. |
| offsets | A map of index offsets for Parameters that have already been added. |
Implements lsst::gauss2d::fit::ParametricModel.
Definition at line 684 of file model.h.
|
inline |
Compute the Hessian matrix (second order partial derivatives) of the log likehood.
| transformed | Whether the matrix should be computed for transformed parameters or not If not, parameter transforms are temporarily removed. |
| include_prior | Whether to include the prior likelihood(s) in the Hessian. |
| options | Options for computing the Hessian via finite differencing of loglikelihood gradients. If null, the Hessian is estimated as J^T J (where J is the Jacobian). |
Definition at line 825 of file model.h.
|
inline |
Compute the gradient (partial first derivative) of the log-likelihood for each free parameter.
| include_prior | Whether to include the prior likelihood(s) in the gradients. |
| Whether to print diagnostic/debugging information. | |
| verify | Whether to verify the values by comparing to finite differences. |
| findiff_frac | The value of the finite difference increment, as a fraction of the parameter value. |
| findiff_add | The minimum value of the finite difference increment. |
| rtol | The allowed relative tolerance in the Jacobian as compared to the finite difference. |
| atol | The allowed absolute tolerance in the Jacobian as compared to the finite difference. |
Definition at line 704 of file model.h.
|
inline |
Evaluate the model for every Observation in _data.
| Whether to print diagnostic statements to stdout. | |
| normalize_loglike | Whether to include the normalizing (variance-dependent) term in the log likelihood. If false, the log likelihood for a model with no residuals is 0. |
Definition at line 1019 of file model.h.
|
inline |
Evaluate a single observation with the given index in _data.
| idx | The numeric index of the observation. |
|
inline |
|
inlineoverridevirtual |
Return the vector of Gaussian sub-components controlled by this model.
Implements lsst::gauss2d::fit::ParametricModel.
Definition at line 1061 of file model.h.
|
inline |
Get the constant (variance-dependent) terms of the log likelihood for each observation.
Definition at line 1079 of file model.h.
|
inline |
|
inlineoverridevirtual |
Return the number of Gaussian sub-components controlled by this model.
Implements lsst::gauss2d::fit::ParametricModel.
Definition at line 1106 of file model.h.
|
inline |
|
inline |
Return _outputs (output Image instances for each Observation in _data)
Definition at line 1113 of file model.h.
|
inlineoverridevirtual |
Add Parameter refs matching the filter to a vector, in order.
| params | The vector to add to. |
| filter | The filter to apply to this Object's parameters. |
Implements lsst::gauss2d::fit::Parametric.
Definition at line 1123 of file model.h.
|
inlineoverridevirtual |
Same as get_parameters(), but for const refs.
Implements lsst::gauss2d::fit::Parametric.
Definition at line 1130 of file model.h.
|
inlineinherited |
Same as get_parameters_const(), but returning a new vector.
Definition at line 33 of file parametric.h.
|
inlineinherited |
Same as get_parameters(), but returning a new vector.
Definition at line 27 of file parametric.h.
|
inline |
Same as get_parameters(), but for a single Observation with index idx in _data.
|
inline |
Same as get_parameters_const(), but for a single Observation with index idx in _data.
|
inline |
|
inline |
Return _psfmodels, the list of PsfModel instances for each Observation in _data.
Definition at line 1161 of file model.h.
|
inline |
Return _sources, the list of Source instances for each Observation in _data.
Definition at line 1164 of file model.h.
|
inlinestaticinherited |
Definition at line 49 of file object.h.
|
inlineoverridevirtual |
Return a full, callable string representation of this.
| name_keywords | Whether to prefix arguments with "{name}=", where name is the arg name in the header (as with keyword arguments in Python). |
| namespace_separator | The string to use to delimit namespaces, i.e. :: in C++ and . in Python. |
Implements lsst::gauss2d::Object.
Definition at line 1377 of file model.h.
|
inlineoverridevirtual |
Set extra Parameter gradient factors in an existing map.
| channel | The Channel to set factors for. |
| factors | The ExtraParamFactors to set factors for. |
| index | The index to begin setting factors at. |
Implements lsst::gauss2d::fit::ParametricModel.
Definition at line 1166 of file model.h.
|
inlineoverridevirtual |
Set Parameter gradient factors in an existing map.
| channel | The Channel to set factors for. |
| factors | The GradParamFactors to set factors for. |
| index | The index to begin setting factors at. |
Implements lsst::gauss2d::fit::ParametricModel.
Definition at line 1174 of file model.h.
|
inline |
Setup Evaluator instances for every Observation in _data using the given EvaluatorMode.
| mode | The EvaluatorMode to use for all Evaluator instances. |
| outputs | A vector of vectors of Image outputs for each Evaluator (created if empty and needed). |
| residuals | A vector of residual Images for each Evaluator (created if empty and needed). |
| outputs_prior | A vector of prior output (Jacobian) Images for each Evaluator (created if empty and needed). |
| residuals_prior | A vector of prior residual Images for each Evaluator (created if empty and needed). |
| force | Whether to force setting up even if already set up in the same mode |
| Whether to print diagnostic statements to stdout. |
Definition at line 1199 of file model.h.
|
inline |
|
inlineoverridevirtual |
Return a brief, human-readable string representation of this.
Implements lsst::gauss2d::Object.
Definition at line 1389 of file model.h.
|
inline |
Verify that the Jacobian is correct by comparing to finite differences.
| findiff_frac | The value of the finite difference increment, as a fraction of the parameter value. |
| findiff_add | The minimum value of the finite difference increment. |
| rtol | The allowed relative tolerance in the Jacobian as compared to the finite difference. |
| atol | The allowed absolute tolerance in the Jacobian as compared to the finite difference. |
| max_ll_diff | The maximum allowed difference between equivalent log-likelihood evaluations. Must be >= 0 and should only be a few orders of magnitude larger than machine epsilon. |
Definition at line 1412 of file model.h.
|
staticconstexprinherited |
|
staticconstexprinherited |
|
staticconstexprinherited |