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
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
lsst::gauss2d::fit::IntegralModel Class Referenceabstract

A Parametric model for the integral of a 2D distribution. More...

#include <integralmodel.h>

Inheritance diagram for lsst::gauss2d::fit::IntegralModel:
lsst::gauss2d::fit::Chromatic lsst::gauss2d::fit::Parametric lsst::gauss2d::Object lsst::gauss2d::fit::FractionalIntegralModel lsst::gauss2d::fit::LinearIntegralModel lsst::gauss2d::fit::SersicModelIntegral lsst::gauss2d::fit::FractionalIntegralModel::Shared_enabler

Public Member Functions

virtual double get_integral (const Channel &channel) const =0
 Get the value of the integral in a single Channel.
 
virtual std::vector< std::pair< ParamBaseCRef, ExtraParamFactorValues > > get_integral_derivative_factors (const Channel &channel) const =0
 Return the partial derivative of the model w.r.t.
 
virtual std::vector< std::reference_wrapper< const Channel > > get_channels () const =0
 Get the set of channels this instance is applicable for.
 
virtual ParamRefsget_parameters (ParamRefs &params, ParamFilter *filter=nullptr) const =0
 Add Parameter refs matching the filter to a vector, in order.
 
virtual ParamCRefsget_parameters_const (ParamCRefs &params, ParamFilter *filter=nullptr) const =0
 Same as get_parameters(), but for const refs.
 
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.
 
virtual std::string repr (bool name_keywords=false, std::string_view namespace_separator=CC_NAMESPACE_SEPARATOR) const =0
 Return a full, callable string representation of this.
 
virtual std::string str () const =0
 Return a brief, human-readable string representation of this.
 

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 = "."
 

Detailed Description

A Parametric model for the integral of a 2D distribution.

IntegralModel implementations can use as many Parameter classes as needed. The model should be efficiently differentiable in the first order, via finite differencing if analytical evaluation is not possible.

IntegralModels may have meaningful ordering of channels but must enforce uniqueness constraints where relevant.

Definition at line 23 of file integralmodel.h.

Member Function Documentation

◆ get_channels()

virtual std::vector< std::reference_wrapper< const Channel > > lsst::gauss2d::fit::Chromatic::get_channels ( ) const
pure virtualinherited

Get the set of channels this instance is applicable for.

Note
Implementers must return a set (all unique items). This cannot be enforced (yet).

Implemented in lsst::gauss2d::fit::Data< T, I, M >, lsst::gauss2d::fit::FractionalIntegralModel, lsst::gauss2d::fit::LinearIntegralModel, and lsst::gauss2d::fit::SersicModelIntegral.

◆ get_integral()

virtual double lsst::gauss2d::fit::IntegralModel::get_integral ( const Channel & channel) const
pure virtual

◆ get_integral_derivative_factors()

virtual std::vector< std::pair< ParamBaseCRef, ExtraParamFactorValues > > lsst::gauss2d::fit::IntegralModel::get_integral_derivative_factors ( const Channel & channel) const
pure virtual

Return the partial derivative of the model w.r.t.

each metaparameter.

This is generally needed only for nonlinear Parameter instances.

Parameters
channelThe Channel to return derivatives for.
Returns
A vector of Parameter/derivative pairs, with values ordered as specified in GaussianEvaluator (L, sigma_x, sigma_y).

Implemented in lsst::gauss2d::fit::FractionalIntegralModel, lsst::gauss2d::fit::LinearIntegralModel, and lsst::gauss2d::fit::SersicModelIntegral.

◆ get_parameters()

virtual ParamRefs & lsst::gauss2d::fit::Parametric::get_parameters ( ParamRefs & params,
ParamFilter * filter = nullptr ) const
pure virtualinherited

◆ get_parameters_const()

virtual ParamCRefs & lsst::gauss2d::fit::Parametric::get_parameters_const ( ParamCRefs & params,
ParamFilter * filter = nullptr ) const
pure virtualinherited

◆ get_parameters_const_new()

ParamCRefs lsst::gauss2d::fit::Parametric::get_parameters_const_new ( ParamFilter * filter = nullptr) const
inlineinherited

Same as get_parameters_const(), but returning a new vector.

Definition at line 33 of file parametric.h.

33 {
34 ParamCRefs params{};
35 get_parameters_const(params, filter);
36 return params;
37 }
virtual ParamCRefs & get_parameters_const(ParamCRefs &params, ParamFilter *filter=nullptr) const =0
Same as get_parameters(), but for const refs.
std::vector< ParamBaseCRef > ParamCRefs
Definition param_defs.h:11

◆ get_parameters_new()

ParamRefs lsst::gauss2d::fit::Parametric::get_parameters_new ( ParamFilter * filter = nullptr) const
inlineinherited

Same as get_parameters(), but returning a new vector.

Definition at line 27 of file parametric.h.

27 {
28 ParamRefs params{};
29 get_parameters(params, filter);
30 return params;
31 }
virtual ParamRefs & get_parameters(ParamRefs &params, ParamFilter *filter=nullptr) const =0
Add Parameter refs matching the filter to a vector, in order.
std::vector< ParamBaseRef > ParamRefs
Definition param_defs.h:13

◆ null_str()

static std::string_view lsst::gauss2d::Object::null_str ( const std::string_view & namespace_separator)
inlinestaticinherited

Definition at line 49 of file object.h.

49 {
50 return namespace_separator == CC_NAMESPACE_SEPARATOR ? "nullptr" : NULL_STR_GENERAL;
51 }
static constexpr std::string_view CC_NAMESPACE_SEPARATOR
The C++ namespace separator.
Definition object.h:45
static constexpr std::string_view NULL_STR_GENERAL
Definition object.h:46

◆ repr()

virtual std::string lsst::gauss2d::Object::repr ( bool name_keywords = false,
std::string_view namespace_separator = CC_NAMESPACE_SEPARATOR ) const
pure virtualinherited

Return a full, callable string representation of this.

Parameters
name_keywordsWhether to prefix arguments with "{name}=", where name is the arg name in the header (as with keyword arguments in Python).
namespace_separatorThe string to use to delimit namespaces, i.e. :: in C++ and . in Python.
Returns
A callable string representation of this, which should return an an identical object to this.
Note
The representation with name_keywords=false must be callable in C++. The representation with name_keywords=true should be callable in Python, if there are any bindings.

Implemented in lsst::gauss2d::CentroidValues, lsst::gauss2d::Image< idx_type, Indices >, lsst::gauss2d::Image< t, Data >, lsst::gauss2d::Image< T, Image< T > >, lsst::gauss2d::Image< T, VectorImage< T > >, lsst::gauss2d::Image< T, C >, lsst::gauss2d::ImageArray< T, Data >, lsst::gauss2d::ImageArray< t, Data >, lsst::gauss2d::ImageArray< T, C >, lsst::gauss2d::fit::SersicEllipseData, lsst::gauss2d::fit::SersicModelIntegral, lsst::gauss2d::Centroid, lsst::gauss2d::CoordinateSystem, lsst::gauss2d::Covariance, lsst::gauss2d::EllipseValues, lsst::gauss2d::Ellipse, lsst::gauss2d::EllipseMajor, lsst::gauss2d::detail::GradientsExtra< t, Data, Indices >, lsst::gauss2d::GaussianEvaluator< T, Data, Indices >, lsst::gauss2d::GaussianIntegralValue, lsst::gauss2d::Gaussian, lsst::gauss2d::Gaussians, lsst::gauss2d::ConvolvedGaussian, lsst::gauss2d::ConvolvedGaussians, lsst::gauss2d::fit::CentroidParameters, lsst::gauss2d::fit::Channel, lsst::gauss2d::fit::Data< T, I, M >, lsst::gauss2d::fit::EllipticalComponent, lsst::gauss2d::fit::FractionalIntegralModel, lsst::gauss2d::fit::GaussianComponent, lsst::gauss2d::fit::GaussianModelIntegral, lsst::gauss2d::fit::GaussianParametricEllipse, lsst::gauss2d::fit::GaussianPrior, lsst::gauss2d::fit::LinearIntegralModel, lsst::gauss2d::fit::LinearSersicMixInterpolator, lsst::gauss2d::fit::Model< T, Image, Indices, Mask >, lsst::gauss2d::fit::Observation< T, I, M >, lsst::gauss2d::fit::ParametricGaussian1D, lsst::gauss2d::fit::PriorEvaluation, lsst::gauss2d::fit::PsfModel, lsst::gauss2d::fit::IntegralSize, lsst::gauss2d::fit::SersicMixValues, lsst::gauss2d::fit::SersicMixComponent, lsst::gauss2d::fit::SersicParametricEllipse, lsst::gauss2d::fit::ShapePriorOptions, lsst::gauss2d::fit::ShapePrior, lsst::gauss2d::fit::Source, lsst::gauss2d::CentroidData, lsst::gauss2d::EllipseData, and lsst::gauss2d::GaussianIntegral.

◆ str()

virtual std::string lsst::gauss2d::Object::str ( ) const
pure virtualinherited

Return a brief, human-readable string representation of this.

Implemented in lsst::gauss2d::CentroidValues, lsst::gauss2d::Centroid, lsst::gauss2d::CoordinateSystem, lsst::gauss2d::Covariance, lsst::gauss2d::EllipseValues, lsst::gauss2d::Ellipse, lsst::gauss2d::EllipseMajor, lsst::gauss2d::detail::GradientsExtra< t, Data, Indices >, lsst::gauss2d::GaussianEvaluator< T, Data, Indices >, lsst::gauss2d::GaussianIntegralValue, lsst::gauss2d::Gaussian, lsst::gauss2d::Gaussians, lsst::gauss2d::ConvolvedGaussian, lsst::gauss2d::ConvolvedGaussians, lsst::gauss2d::Image< idx_type, Indices >, lsst::gauss2d::Image< t, Data >, lsst::gauss2d::Image< T, Image< T > >, lsst::gauss2d::Image< T, VectorImage< T > >, lsst::gauss2d::Image< T, C >, lsst::gauss2d::ImageArray< T, Data >, lsst::gauss2d::ImageArray< t, Data >, lsst::gauss2d::ImageArray< T, C >, lsst::gauss2d::fit::CentroidParameters, lsst::gauss2d::fit::Channel, lsst::gauss2d::fit::Data< T, I, M >, lsst::gauss2d::fit::EllipticalComponent, lsst::gauss2d::fit::FractionalIntegralModel, lsst::gauss2d::fit::GaussianComponent, lsst::gauss2d::fit::GaussianModelIntegral, lsst::gauss2d::fit::GaussianParametricEllipse, lsst::gauss2d::fit::GaussianPrior, lsst::gauss2d::fit::LinearIntegralModel, lsst::gauss2d::fit::LinearSersicMixInterpolator, lsst::gauss2d::fit::Model< T, Image, Indices, Mask >, lsst::gauss2d::fit::Observation< T, I, M >, lsst::gauss2d::fit::ParametricGaussian1D, lsst::gauss2d::fit::PriorEvaluation, lsst::gauss2d::fit::PsfModel, lsst::gauss2d::fit::IntegralSize, lsst::gauss2d::fit::SersicMixValues, lsst::gauss2d::fit::SersicMixComponent, lsst::gauss2d::fit::SersicParametricEllipse, lsst::gauss2d::fit::ShapePriorOptions, lsst::gauss2d::fit::ShapePrior, lsst::gauss2d::fit::Source, lsst::gauss2d::fit::SersicEllipseData, lsst::gauss2d::fit::SersicModelIntegral, lsst::gauss2d::CentroidData, lsst::gauss2d::EllipseData, and lsst::gauss2d::GaussianIntegral.

Member Data Documentation

◆ CC_NAMESPACE_SEPARATOR

constexpr std::string_view lsst::gauss2d::Object::CC_NAMESPACE_SEPARATOR = "::"
staticconstexprinherited

The C++ namespace separator.

Definition at line 45 of file object.h.

◆ NULL_STR_GENERAL

constexpr std::string_view lsst::gauss2d::Object::NULL_STR_GENERAL = "None"
staticconstexprinherited

Definition at line 46 of file object.h.

◆ PY_NAMESPACE_SEPARATOR

constexpr std::string_view lsst::gauss2d::Object::PY_NAMESPACE_SEPARATOR = "."
staticconstexprinherited

Definition at line 47 of file object.h.


The documentation for this class was generated from the following file: