A Gaussian mixture model of a point spread function. More...
#include <psfmodel.h>
Public Member Functions | |
| PsfModel (Components &components) | |
| void | add_extra_param_map (const Channel &channel, ExtraParamMap &map_extra, const GradParamMap &map_grad, ParameterMap &offsets) const override |
| void | add_extra_param_factors (const Channel &channel, ExtraParamFactors &factors) const override |
| void | add_grad_param_map (const Channel &channel, GradParamMap &map, ParameterMap &offsets) const override |
| void | add_grad_param_factors (const Channel &channel, GradParamFactors &factor) const override |
| Components | get_components () const override |
| std::unique_ptr< const lsst::gauss2d::Gaussians > | get_gaussians (const Channel &channel=Channel::NONE()) const override |
| size_t | get_n_gaussians (const Channel &channel=Channel::NONE()) const override |
| Return the number of Gaussian sub-components controlled by this model. | |
| ParamRefs & | get_parameters (ParamRefs ¶ms, ParamFilter *filter=nullptr) const override |
| ParamCRefs & | get_parameters_const (ParamCRefs ¶ms, ParamFilter *filter=nullptr) const override |
| Same as get_parameters(), but for const refs. | |
| void | set_extra_param_factors (const Channel &channel, ExtraParamFactors &factors, size_t index) const override |
| void | set_grad_param_factors (const Channel &channel, GradParamFactors &factor, size_t index) const override |
| std::string | repr (bool name_keywords=false, std::string_view namespace_separator=Object::CC_NAMESPACE_SEPARATOR) const override |
| std::string | str () const override |
Public Member Functions inherited from lsst::gauss2d::fit::Parametric | |
| 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. | |
A Gaussian mixture model of a point spread function.
A PsfModel is, like a Source, a ComponentMixture. It represents the PSF, i.e. the smoothing kernel for a single Observation (whether from the optical system, environmental conditions, or any other source of blurring). As such, it should have an IntegralModel instance that sum to unity. This is most easily enforced with the use of FractionalIntegralModel.
PsfModels are also generally required to not have a specific Channel. Logically, it should have the same Channel as the Observation it applies to, but generally, it cannot be defined to apply to multiple Observations, so non-NONE Channels are disallowed to reflect this fact.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
Implements lsst::gauss2d::fit::ComponentMixture.
|
overridevirtual |
Return the vector of Gaussian sub-components controlled by this model.
| channel | The Channel to return Gaussians for. |
Implements lsst::gauss2d::fit::ParametricModel.
|
overridevirtual |
Return the number of Gaussian sub-components controlled by this model.
Implements lsst::gauss2d::fit::ParametricModel.
|
overridevirtual |
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.
|
overridevirtual |
Same as get_parameters(), but for const refs.
Implements lsst::gauss2d::fit::Parametric.
|
overridevirtual |
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.
|
overridevirtual |
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.