lsst.gauss2d.fit
g199a45376c+7362695278
Toggle main menu visibility
Loading...
Searching...
No Matches
parametricmodel.h
1
#ifndef LSST_GAUSS2D_FIT_PARAMETRICMODEL_H
2
#define LSST_GAUSS2D_FIT_PARAMETRICMODEL_H
3
4
#include "lsst/gauss2d/evaluate.h"
5
#include "lsst/gauss2d/gaussian.h"
6
7
#include "channel.h"
8
#include "parametric.h"
9
10
namespace
lsst::gauss2d::fit {
11
typedef
std::vector<std::array<size_t, lsst::gauss2d::N_EXTRA_MAP>> ExtraParamMap;
12
typedef
std::array<double, lsst::gauss2d::N_EXTRA_FACTOR> ExtraParamFactorValues;
13
typedef
std::vector<ExtraParamFactorValues> ExtraParamFactors;
14
typedef
std::vector<std::array<size_t, lsst::gauss2d::N_PARAMS_GAUSS2D>> GradParamMap;
15
typedef
std::vector<std::array<double, lsst::gauss2d::N_PARAMS_GAUSS2D>> GradParamFactors;
16
17
typedef
std::map<ParamBaseCRef, size_t> ParameterMap;
18
19
// TODO: Expand on the method docs; add reasoning on the design
25
class
ParametricModel
:
public
Parametric
{
26
public
:
35
virtual
void
add_extra_param_map
(
const
Channel
& channel, ExtraParamMap& map_extra,
36
const
GradParamMap& map_grad, ParameterMap& offsets)
const
37
= 0;
44
virtual
void
add_extra_param_factors
(
const
Channel
& channel, ExtraParamFactors& factors)
const
= 0;
52
virtual
void
add_grad_param_map
(
const
Channel
& channel, GradParamMap& map, ParameterMap& offsets)
const
53
= 0;
60
virtual
void
add_grad_param_factors
(
const
Channel
& channel, GradParamFactors& factors)
const
= 0;
68
virtual
void
set_extra_param_factors
(
const
Channel
& channel, ExtraParamFactors& factors,
69
size_t
index)
const
70
= 0;
78
virtual
void
set_grad_param_factors
(
const
Channel
& channel, GradParamFactors& factors,
size_t
index)
const
79
= 0;
80
87
virtual
std::unique_ptr<const lsst::gauss2d::Gaussians>
get_gaussians
(
const
Channel
& channel)
const
= 0;
89
virtual
size_t
get_n_gaussians
(
const
Channel
& channel)
const
= 0;
90
};
91
92
}
// namespace lsst::gauss2d::fit
93
94
#endif
lsst::gauss2d::fit::Channel
An observational channel, usually representing some range of wavelengths of light.
Definition
channel.h:29
lsst::gauss2d::fit::Parametric
Definition
parametric.h:13
lsst::gauss2d::fit::ParametricModel
Definition
parametricmodel.h:25
lsst::gauss2d::fit::ParametricModel::add_grad_param_factors
virtual void add_grad_param_factors(const Channel &channel, GradParamFactors &factors) const =0
lsst::gauss2d::fit::ParametricModel::add_extra_param_factors
virtual void add_extra_param_factors(const Channel &channel, ExtraParamFactors &factors) const =0
lsst::gauss2d::fit::ParametricModel::set_extra_param_factors
virtual void set_extra_param_factors(const Channel &channel, ExtraParamFactors &factors, size_t index) const =0
lsst::gauss2d::fit::ParametricModel::get_gaussians
virtual std::unique_ptr< const lsst::gauss2d::Gaussians > get_gaussians(const Channel &channel) const =0
lsst::gauss2d::fit::ParametricModel::set_grad_param_factors
virtual void set_grad_param_factors(const Channel &channel, GradParamFactors &factors, size_t index) const =0
lsst::gauss2d::fit::ParametricModel::get_n_gaussians
virtual size_t get_n_gaussians(const Channel &channel) const =0
Return the number of Gaussian sub-components controlled by this model.
lsst::gauss2d::fit::ParametricModel::add_grad_param_map
virtual void add_grad_param_map(const Channel &channel, GradParamMap &map, ParameterMap &offsets) const =0
lsst::gauss2d::fit::ParametricModel::add_extra_param_map
virtual void add_extra_param_map(const Channel &channel, ExtraParamMap &map_extra, const GradParamMap &map_grad, ParameterMap &offsets) const =0
include
lsst
gauss2d
fit
parametricmodel.h
Generated by
1.17.0