41 py::class_<gauss2d::Covariance, std::shared_ptr<gauss2d::Covariance>>(
m,
"Covariance")
42 .def(py::init<double, double, double>(),
"sigma_x_sq"_a = 0,
"sigma_y_sq"_a = 0,
"cov_xy"_a = 0)
43 .def(py::init<gauss2d::Ellipse &>())
44 .def(
"convolve", &gauss2d::Covariance::convolve)
45 .def(
"make_convolution", &gauss2d::Covariance::make_convolution)
48 &gauss2d::Covariance::set),
49 "sigma_x_sq"_a = 0,
"sigma_y_sq"_a = 0,
"cov_xy"_a = 0)
51 &gauss2d::Covariance::set))
52 .def_property(
"sigma_x_sq", &gauss2d::Covariance::get_sigma_x_sq,
53 &gauss2d::Covariance::set_sigma_x_sq)
54 .def_property(
"sigma_y_sq", &gauss2d::Covariance::get_sigma_y_sq,
55 &gauss2d::Covariance::set_sigma_y_sq)
56 .def_property(
"cov_xy", &gauss2d::Covariance::get_cov_xy, &gauss2d::Covariance::set_cov_xy)
57 .def_property(
"xyc", &gauss2d::Covariance::get_xyc, &gauss2d::Covariance::set_xyc)
58 .def(py::self == py::self)
59 .def(py::self != py::self)
61 [](
const gauss2d::Covariance &self) {
return self.repr(
true, self.PY_NAMESPACE_SEPARATOR); })
62 .def(
"__str__", &gauss2d::Covariance::str);
63 auto _e = py::class_<gauss2d::EllipseData, std::shared_ptr<gauss2d::EllipseData>>(
m,
"EllipseData");
64 py::class_<gauss2d::EllipseValues, std::shared_ptr<gauss2d::EllipseValues>,
gauss2d::EllipseData>(
66 .def(py::init<double, double, double>(),
"sigma_x"_a = 0,
"sigma_y"_a = 0,
"rho"_a = 0)
67 .def(
"set", &gauss2d::EllipseValues::set,
"sigma_x"_a,
"sigma_y"_a,
"rho"_a)
68 .def(
"set_h", &gauss2d::EllipseValues::set_h,
"hwhm_x"_a,
"hwhm_y"_a,
"rho"_a)
69 .def_property(
"rho", &gauss2d::EllipseValues::get_rho, &gauss2d::EllipseValues::set_rho)
70 .def_property(
"hwhm_x", &gauss2d::EllipseValues::get_hwhm_x, &gauss2d::EllipseValues::set_hwhm_x)
71 .def_property(
"hwhm_y", &gauss2d::EllipseValues::get_hwhm_y, &gauss2d::EllipseValues::set_hwhm_y)
72 .def_property(
"sigma_x", &gauss2d::EllipseValues::get_sigma_x,
73 &gauss2d::EllipseValues::set_sigma_x)
74 .def_property(
"sigma_y", &gauss2d::EllipseValues::get_sigma_y,
75 &gauss2d::EllipseValues::set_sigma_y)
76 .def_property(
"hxyr", &gauss2d::EllipseValues::get_hxyr, &gauss2d::EllipseValues::set_hxyr)
77 .def_property(
"xyr", &gauss2d::EllipseValues::get_xyr, &gauss2d::EllipseValues::set_xyr)
78 .def(py::self == py::self)
79 .def(py::self != py::self)
82 return self.repr(
true, self.PY_NAMESPACE_SEPARATOR);
84 .def(
"__str__", &gauss2d::EllipseValues::str);
85 py::class_<gauss2d::Ellipse, std::shared_ptr<gauss2d::Ellipse>>(
m,
"Ellipse")
87 .def(py::init<gauss2d::Covariance &>())
88 .def(py::init<gauss2d::EllipseMajor &>())
89 .def(py::init<double, double, double>(),
"sigma_x"_a = 0,
"sigma_y"_a = 0,
"rho"_a = 0)
90 .def_static(
"check", &gauss2d::Ellipse::check)
91 .def(
"convolve", &gauss2d::Ellipse::convolve)
92 .def(
"get_cov_xy", &gauss2d::Ellipse::get_cov_xy)
93 .def(
"get_radius_trace", &gauss2d::Ellipse::get_radius_trace)
94 .def(
"make_convolution", &gauss2d::Ellipse::make_convolution)
96 static_cast<void (
gauss2d::Ellipse::*)(
double,
double,
double)
>(&gauss2d::Ellipse::set),
97 "sigma_x"_a,
"sigma_y"_a,
"rho"_a)
103 &gauss2d::Ellipse::set),
105 .def(
"set_h", &gauss2d::Ellipse::set_h,
"hwhm_x"_a = 0,
"hwhm_y"_a = 0,
"rho"_a = 0)
106 .def_property(
"rho", &gauss2d::Ellipse::get_rho, &gauss2d::Ellipse::set_rho)
107 .def_property(
"hwhm_x", &gauss2d::Ellipse::get_hwhm_x, &gauss2d::Ellipse::set_hwhm_x)
108 .def_property(
"hwhm_y", &gauss2d::Ellipse::get_hwhm_y, &gauss2d::Ellipse::set_hwhm_y)
109 .def_property(
"sigma_x", &gauss2d::Ellipse::get_sigma_x, &gauss2d::Ellipse::set_sigma_x)
110 .def_property(
"sigma_y", &gauss2d::Ellipse::get_sigma_y, &gauss2d::Ellipse::set_sigma_y)
111 .def_property(
"hxyr", &gauss2d::Ellipse::get_hxyr, &gauss2d::Ellipse::set_hxyr)
112 .def_property(
"xyr", &gauss2d::Ellipse::get_xyr, &gauss2d::Ellipse::set_xyr)
113 .def(py::self == py::self)
114 .def(py::self != py::self)
116 [](
const gauss2d::Ellipse &self) {
return self.repr(
true, self.PY_NAMESPACE_SEPARATOR); })
117 .def(
"__str__", &gauss2d::Ellipse::str);
118 py::class_<gauss2d::EllipseMajor, std::shared_ptr<gauss2d::EllipseMajor>>(
m,
"EllipseMajor")
119 .def(py::init<gauss2d::Covariance &, bool>(),
"covariance"_a,
"degrees"_a =
false)
120 .def(py::init<gauss2d::Ellipse &, bool>(),
"ellipse"_a,
"degrees"_a =
false)
121 .def(py::init<double, double, double, bool>(),
"r_major"_a = 0,
"axrat"_a = 1,
"angle"_a = 0,
123 .def_static(
"check", &gauss2d::EllipseMajor::check)
124 .def(
"get_angle_degrees", &gauss2d::EllipseMajor::get_angle_degrees)
125 .def(
"get_angle_radians", &gauss2d::EllipseMajor::get_angle_radians)
126 .def_property(
"r_major", &gauss2d::EllipseMajor::get_r_major, &gauss2d::EllipseMajor::set_r_major)
127 .def_property(
"axrat", &gauss2d::EllipseMajor::get_axrat, &gauss2d::EllipseMajor::set_axrat)
128 .def_property(
"angle", &gauss2d::EllipseMajor::get_angle, &gauss2d::EllipseMajor::set_angle)
129 .def_property(
"degrees", &gauss2d::EllipseMajor::is_degrees, &gauss2d::EllipseMajor::set_degrees)
130 .def_property(
"rqa", &gauss2d::EllipseMajor::get_rqa, &gauss2d::EllipseMajor::set_rqa)
131 .def(py::self == py::self)
132 .def(py::self != py::self)
135 return self.repr(
true, self.PY_NAMESPACE_SEPARATOR);
137 .def(
"__str__", &gauss2d::EllipseMajor::str);