34 m_pixel_sampling(pixel_sampling), m_components(components), m_group_degrees(group_degrees), m_coefficients(coefficients)
41 m_pixel_sampling(pixel_sampling), m_coefficients{constant}
81 for (
auto j = 0u; j < scaled_props.size(); ++j) {
87 result->at(
x,
y) += acc * coef->at(
x,
y);
107 ++n_component_per_group[component.group_id];
111 unsigned int n_coefficients = 1;
112 for (
unsigned int g = 0;
g < n_component_per_group.size(); ++
g) {
114 int n = n_component_per_group[
g];
115 int d = std::min<int>(dmax, n);
118 for (num = 1, den = 1; d > 0; num *= (n+dmax--), den*= d--);
120 n_coefficients *= num / den;
125 <<
" expected " << n_coefficients;
133 if (coeff->getWidth() != psf_width || coeff->getHeight() != psf_height) {
134 throw Elements::Exception() <<
"Malformed variable PSF, coefficient matrices do not have the same dimensions";
146 for (
auto i = 0u; i < values.
size(); ++i) {
172 if (group_exponents[component.group_id] > 0) {
173 --group_exponents[component.group_id];
178 group_exponents[component.group_id] =
exp[ei];
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y