184 "Constant parameter",
expr_builder, p.second.attr(
"get_value")
194 "Free parameter",
expr_builder, p.second.attr(
"get_init_value")
235 auto py_func = p.second.attr(
"func");
237 py::list
dependees = py::extract<py::list>(p.second.attr(
"params"));
257 int value_id = py::extract<int>(p.second.attr(
"value").attr(
"id"));
262 int x_coord_id = py::extract<int>(p.second.attr(
"x_coord").attr(
"id"));
263 int y_coord_id = py::extract<int>(p.second.attr(
"y_coord").attr(
"id"));
264 int flux_id = py::extract<int>(p.second.attr(
"flux").attr(
"id"));
270 int x_coord_id = py::extract<int>(p.second.attr(
"x_coord").attr(
"id"));
271 int y_coord_id = py::extract<int>(p.second.attr(
"y_coord").attr(
"id"));
272 int flux_id = py::extract<int>(p.second.attr(
"flux").attr(
"id"));
274 int aspect_ratio_id = py::extract<int>(p.second.attr(
"aspect_ratio").attr(
"id"));
275 int angle_id = py::extract<int>(p.second.attr(
"angle").attr(
"id"));
276 int n_id = py::extract<int>(p.second.attr(
"n").attr(
"id"));
284 int x_coord_id = py::extract<int>(p.second.attr(
"x_coord").attr(
"id"));
285 int y_coord_id = py::extract<int>(p.second.attr(
"y_coord").attr(
"id"));
286 int flux_id = py::extract<int>(p.second.attr(
"flux").attr(
"id"));
288 int aspect_ratio_id = py::extract<int>(p.second.attr(
"aspect_ratio").attr(
"id"));
289 int angle_id = py::extract<int>(p.second.attr(
"angle").attr(
"id"));
296 int x_coord_id = py::extract<int>(p.second.attr(
"x_coord").attr(
"id"));
297 int y_coord_id = py::extract<int>(p.second.attr(
"y_coord").attr(
"id"));
298 int flux_id = py::extract<int>(p.second.attr(
"flux").attr(
"id"));
300 int aspect_ratio_id = py::extract<int>(p.second.attr(
"aspect_ratio").attr(
"id"));
301 int angle_id = py::extract<int>(p.second.attr(
"angle").attr(
"id"));
307#ifdef WITH_ONNX_MODELS
309 int x_coord_id = py::extract<int>(p.second.attr(
"x_coord").attr(
"id"));
310 int y_coord_id = py::extract<int>(p.second.attr(
"y_coord").attr(
"id"));
311 int flux_id = py::extract<int>(p.second.attr(
"flux").attr(
"id"));
312 int aspect_ratio_id = py::extract<int>(p.second.attr(
"aspect_ratio").attr(
"id"));
313 int angle_id = py::extract<int>(p.second.attr(
"angle").attr(
"id"));
314 int scale_id = py::extract<int>(p.second.attr(
"scale").attr(
"id"));
317 py::dict
parameters = py::extract<py::dict>(p.second.attr(
"params"));
319 for (
int i = 0;
i < py::len(
names); ++
i) {
325 py::list models = py::extract<py::list>(p.second.attr(
"models"));
326 for (
int i = 0;
i < py::len(models); ++
i) {
331 onnx_models.back()->getOutputShape().size() != 4 ||
335 throw Elements::Exception() <<
"ONNX models for ModelFitting must output a square array of floats";
351 for (
int x : p.second) {
358 auto&
prior = p.second;