237 auto py_func = p.second.attr(
"func");
239 py::list
dependees = py::extract<py::list>(p.second.attr(
"params"));
259 int value_id = py::extract<int>(p.second.attr(
"value").attr(
"id"));
264 int x_coord_id = py::extract<int>(p.second.attr(
"x_coord").attr(
"id"));
265 int y_coord_id = py::extract<int>(p.second.attr(
"y_coord").attr(
"id"));
266 int flux_id = py::extract<int>(p.second.attr(
"flux").attr(
"id"));
272 int x_coord_id = py::extract<int>(p.second.attr(
"x_coord").attr(
"id"));
273 int y_coord_id = py::extract<int>(p.second.attr(
"y_coord").attr(
"id"));
274 int flux_id = py::extract<int>(p.second.attr(
"flux").attr(
"id"));
276 int aspect_ratio_id = py::extract<int>(p.second.attr(
"aspect_ratio").attr(
"id"));
277 int angle_id = py::extract<int>(p.second.attr(
"angle").attr(
"id"));
278 int n_id = py::extract<int>(p.second.attr(
"n").attr(
"id"));
286 int x_coord_id = py::extract<int>(p.second.attr(
"x_coord").attr(
"id"));
287 int y_coord_id = py::extract<int>(p.second.attr(
"y_coord").attr(
"id"));
288 int flux_id = py::extract<int>(p.second.attr(
"flux").attr(
"id"));
290 int aspect_ratio_id = py::extract<int>(p.second.attr(
"aspect_ratio").attr(
"id"));
291 int angle_id = py::extract<int>(p.second.attr(
"angle").attr(
"id"));
298 int x_coord_id = py::extract<int>(p.second.attr(
"x_coord").attr(
"id"));
299 int y_coord_id = py::extract<int>(p.second.attr(
"y_coord").attr(
"id"));
300 int flux_id = py::extract<int>(p.second.attr(
"flux").attr(
"id"));
302 int aspect_ratio_id = py::extract<int>(p.second.attr(
"aspect_ratio").attr(
"id"));
303 int angle_id = py::extract<int>(p.second.attr(
"angle").attr(
"id"));
309#ifdef WITH_ONNX_MODELS
311 int x_coord_id = py::extract<int>(p.second.attr(
"x_coord").attr(
"id"));
312 int y_coord_id = py::extract<int>(p.second.attr(
"y_coord").attr(
"id"));
313 int flux_id = py::extract<int>(p.second.attr(
"flux").attr(
"id"));
314 int aspect_ratio_id = py::extract<int>(p.second.attr(
"aspect_ratio").attr(
"id"));
315 int angle_id = py::extract<int>(p.second.attr(
"angle").attr(
"id"));
316 int scale_id = py::extract<int>(p.second.attr(
"scale").attr(
"id"));
319 py::dict
parameters = py::extract<py::dict>(p.second.attr(
"params"));
321 for (
int i = 0;
i < py::len(
names); ++
i) {
327 py::list models = py::extract<py::list>(p.second.attr(
"models"));
328 for (
int i = 0;
i < py::len(models); ++
i) {
333 onnx_models.back()->getOutputShape().size() != 4 ||
337 throw Elements::Exception() <<
"ONNX models for ModelFitting must output a square array of floats";
353 for (
int x : p.second) {
360 auto&
prior = p.second;