LSST Applications g0d97872fb5+4fd969bb9d,g1653933729+34a971ddd9,g28da252d5a+072f89fe25,g2bbee38e9b+a99b0ab4cd,g2bc492864f+a99b0ab4cd,g2ca4be77d2+c0e3b27cd8,g2cdde0e794+704103fe75,g3156d2b45e+6e87dc994a,g347aa1857d+a99b0ab4cd,g35bb328faa+34a971ddd9,g3a166c0a6a+a99b0ab4cd,g3e281a1b8c+8ec26ec694,g4005a62e65+ba0306790b,g414038480c+9ed5ed841a,g569e0e2b34+cb4faa46ad,g5a97de2502+520531a62c,g717e5f8c0f+29153700a5,g7ede599f99+367733290c,g80478fca09+17051a22cc,g82479be7b0+f2f1ea0a87,g858d7b2824+29153700a5,g8b782ad322+29153700a5,g8cd86fa7b1+05420e7f7d,g9125e01d80+34a971ddd9,ga5288a1d22+e7f674aaf3,gae0086650b+34a971ddd9,gae74b0b5c6+45ef5cdc51,gb58c049af0+ace264a4f2,gc28159a63d+a99b0ab4cd,gcf0d15dbbd+8051a81198,gda6a2b7d83+8051a81198,gdaeeff99f8+7774323b41,gdf4d240d4a+34a971ddd9,ge2409df99d+cb167bac99,ge33fd446bb+29153700a5,ge79ae78c31+a99b0ab4cd,gf0baf85859+890af219f9,gf5289d68f6+9faa5c5784,w.2024.36
LSST Data Management Base Package
|
A Gaussian mixture model of a point spread function. More...
#include <psfmodel.h>
Public Member Functions | |
PsfModel (Components &components) | |
~PsfModel () | |
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 &factor) const override |
Add Parameter gradient factors to an existing map. | |
Components | get_components () const override |
std::unique_ptr< const lsst::gauss2d::Gaussians > | get_gaussians (const Channel &channel=Channel::NONE()) const override |
Return the vector of Gaussian sub-components controlled by this model. | |
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 |
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. | |
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 &factor, size_t index) const override |
Set Parameter gradient factors in an existing map. | |
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. | |
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 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.
Definition at line 26 of file psfmodel.h.
|
explicit |
Definition at line 12 of file psfmodel.cc.
lsst::gauss2d::fit::PsfModel::~PsfModel | ( | ) |
Definition at line 29 of file psfmodel.cc.
|
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.
Definition at line 36 of file psfmodel.cc.
|
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.
Definition at line 31 of file psfmodel.cc.
|
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.
Definition at line 44 of file psfmodel.cc.
|
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.
Definition at line 40 of file psfmodel.cc.
|
overridevirtual |
Implements lsst::gauss2d::fit::ComponentMixture.
Definition at line 48 of file psfmodel.cc.
|
overridevirtual |
Return the vector of Gaussian sub-components controlled by this model.
Implements lsst::gauss2d::fit::ParametricModel.
Definition at line 50 of file psfmodel.cc.
|
overridevirtual |
Return the number of Gaussian sub-components controlled by this model.
Implements lsst::gauss2d::fit::ParametricModel.
Definition at line 59 of file psfmodel.cc.
|
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.
Definition at line 65 of file psfmodel.cc.
|
overridevirtual |
Same as get_parameters(), but for const refs.
Implements lsst::gauss2d::fit::Parametric.
Definition at line 69 of file psfmodel.cc.
|
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.
|
inlinestaticinherited |
Definition at line 49 of file object.h.
|
overridevirtual |
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 83 of file psfmodel.cc.
|
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.
Definition at line 74 of file psfmodel.cc.
|
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.
Definition at line 79 of file psfmodel.cc.
|
overridevirtual |
Return a brief, human-readable string representation of this.
Implements lsst::gauss2d::Object.
Definition at line 90 of file psfmodel.cc.
|
staticconstexprinherited |
|
staticconstexprinherited |
|
staticconstexprinherited |