Loading [MathJax]/extensions/tex2jax.js
LSST Applications g04dff08e69+fafbcb10e2,g0d33ba9806+3d21495239,g0fba68d861+4a282a2c93,g1ec0fe41b4+f536777771,g1fd858c14a+ae46bc2a71,g35bb328faa+fcb1d3bbc8,g4af146b050+9c38a215af,g4d2262a081+36f1e108ba,g53246c7159+fcb1d3bbc8,g5a012ec0e7+b20b785ecb,g60b5630c4e+3d21495239,g6273192d42+d9e7b43dd0,g67b6fd64d1+4086c0989b,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g7b71ed6315+fcb1d3bbc8,g87b7deb4dc+2198278b84,g8852436030+54b48a5987,g89139ef638+4086c0989b,g9125e01d80+fcb1d3bbc8,g94187f82dc+3d21495239,g989de1cb63+4086c0989b,g9d31334357+3d21495239,g9f33ca652e+83205baa3c,gabe3b4be73+1e0a283bba,gabf8522325+fa80ff7197,gb1101e3267+85d1f90f4c,gb58c049af0+f03b321e39,gb89ab40317+4086c0989b,gc0bb628dac+d11454dffd,gcf25f946ba+54b48a5987,gd6cbbdb0b4+af3c3595f5,gd9a9a58781+fcb1d3bbc8,gde0f65d7ad+a74c3eaa38,ge278dab8ac+d65b3c2b70,ge410e46f29+4086c0989b,gf23fb2af72+b3e27b8ebc,gf67bdafdda+4086c0989b,v29.0.0.rc6
LSST Data Management Base Package
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
sersicparametricellipse.cc
Go to the documentation of this file.
1/*
2 * This file is part of gauss2d_fit.
3 *
4 * Developed for the LSST Data Management System.
5 * This product includes software developed by the LSST Project
6 * (https://www.lsst.org).
7 * See the COPYRIGHT file at the top-level directory of this distribution
8 * for details of code ownership.
9 *
10 * This program is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation, either version 3 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22 */
23
24#include <pybind11/attr.h>
25#include <pybind11/pybind11.h>
26#include <pybind11/stl.h>
27
28#include <memory>
29
30#include "lsst/gauss2d/fit/parameters.h"
32#include "pybind11.h"
33
34namespace py = pybind11;
35using namespace pybind11::literals;
36
37namespace g2f = lsst::gauss2d::fit;
38
39void bind_sersicparametricellipse(py::module &m) {
40 auto _e = py::class_<g2f::SersicParametricEllipse, std::shared_ptr<g2f::SersicParametricEllipse>,
41 g2f::ParametricEllipse>(m, "SersicParametricEllipse")
42 .def(py::init<double, double, double>(), "size_x"_a = 0, "size_y"_a = 0, "rho"_a = 0)
46 "size_x"_a = nullptr, "size_y"_a = nullptr, "rho"_a = nullptr)
47 .def_property("rho", &g2f::SersicParametricEllipse::get_rho,
49 .def_property("size_x", &g2f::SersicParametricEllipse::get_size_x,
51 .def_property("size_y", &g2f::SersicParametricEllipse::get_size_y,
53 .def_property("xyr", &g2f::SersicParametricEllipse::get_xyr,
55 .def_property_readonly("rho_param", &g2f::SersicParametricEllipse::get_rho_param)
56 .def_property_readonly("size_x_param", &g2f::SersicParametricEllipse::get_size_x_param)
57 .def_property_readonly("size_y_param", &g2f::SersicParametricEllipse::get_size_y_param)
58 .def_property_readonly("rho_param_ptr",
60 .def_property_readonly("size_x_param_ptr",
62 .def_property_readonly("size_y_param_ptr",
64 .def("__repr__",
65 [](const g2f::SersicParametricEllipse &self) { return self.repr(true); })
66 .def("__str__", &g2f::SersicParametricEllipse::str);
67}
virtual void set_xyr(const std::array< double, 3 > &xyr)
A ParametericEllipse with effective radius Parameters.
double get_rho() const override
Get the rho value.
std::shared_ptr< SizeYParameterD > get_size_y_param_ptr() override
SizeYParameterD & get_size_y_param() const override
SizeXParameterD & get_size_x_param() const override
double get_size_y() const override
Get the size_y value.
std::string repr(bool name_keywords=false, std::string_view namespace_separator=Object::CC_NAMESPACE_SEPARATOR) const override
Return a full, callable string representation of this.
double get_size_x() const override
Get the size_x value.
std::shared_ptr< SizeXParameterD > get_size_x_param_ptr() override
std::string str() const override
Return a brief, human-readable string representation of this.
std::shared_ptr< RhoParameterD > get_rho_param_ptr() override
std::array< double, 3 > get_xyr() const override
Get the array of size_x, size_y, rho.
void bind_sersicparametricellipse(py::module &m)