lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
detection
python.h
Go to the documentation of this file.
1
/*
2
* This file is part of afw.
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
#ifndef LSST_AFW_DETECTION_PYTHON_H
25
#define LSST_AFW_DETECTION_PYTHON_H
26
27
#include "pybind11/pybind11.h"
28
#include "
lsst/afw/detection/Psf.h
"
29
#include "
lsst/afw/typehandling/python.h
"
30
31
using
lsst::afw::typehandling::StorableHelper
;
32
33
namespace
lsst
{
34
namespace
afw
{
35
namespace
detection
{
36
49
template
<
typename
Base = Psf>
50
class
PsfTrampoline
:
public
StorableHelper
<Base> {
51
public
:
52
using
Image
=
typename
Base::Image;
53
66
template
<
typename
... Args>
67
explicit
PsfTrampoline<Base>
(Args... args) :
StorableHelper
<Base>(args...) {}
68
69
std::shared_ptr<Psf>
clone
()
const override
{
70
/* __deepcopy__ takes an optional dict, but PYBIND11_OVERLOAD_* won't
71
* compile unless you give it arguments that work for the C++ method
72
*/
73
PYBIND11_OVERLOAD_PURE_NAME(
std::shared_ptr<Psf>
, Base,
"__deepcopy__"
,
clone
,);
74
}
75
76
std::shared_ptr<Psf>
resized
(
int
width,
int
height)
const override
{
77
PYBIND11_OVERLOAD_PURE(
std::shared_ptr<Psf>
, Base,
resized
, width, height);
78
}
79
80
lsst::geom::Point2D
getAveragePosition
()
const override
{
81
PYBIND11_OVERLOAD(
lsst::geom::Point2D
, Base,
getAveragePosition
,);
82
}
83
84
// Private and protected c++ members are overloaded to python using underscores.
85
std::shared_ptr<Image>
doComputeImage
(
86
lsst::geom::Point2D
const
& position,
87
image::Color
const
& color
88
)
const override
{
89
PYBIND11_OVERLOAD_NAME(
90
std::shared_ptr<Image>
, Base,
"_doComputeImage"
,
doComputeImage
, position, color
91
);
92
}
93
94
lsst::geom::Box2I
doComputeImageBBox
(
95
lsst::geom::Point2D
const
& position,
96
image::Color
const
& color
97
)
const override
{
98
PYBIND11_OVERLOAD_NAME(
99
lsst::geom::Box2I
, Base,
"_doComputeImageBBox"
,
doComputeImageBBox
, position, color
100
);
101
}
102
103
std::shared_ptr<Image>
doComputeKernelImage
(
104
lsst::geom::Point2D
const
& position,
105
image::Color
const
& color
106
)
const override
{
107
PYBIND11_OVERLOAD_PURE_NAME(
108
std::shared_ptr<Image>
, Base,
"_doComputeKernelImage"
,
doComputeKernelImage
, position, color
109
);
110
}
111
112
double
doComputeApertureFlux
(
113
double
radius,
lsst::geom::Point2D
const
& position,
114
image::Color
const
& color
115
)
const override
{
116
PYBIND11_OVERLOAD_PURE_NAME(
117
double
, Base,
"_doComputeApertureFlux"
,
doComputeApertureFlux
, radius, position, color
118
);
119
}
120
121
geom::ellipses::Quadrupole
doComputeShape
(
122
lsst::geom::Point2D
const
& position,
123
image::Color
const
& color
124
)
const override
{
125
PYBIND11_OVERLOAD_PURE_NAME(
126
geom::ellipses::Quadrupole
, Base,
"_doComputeShape"
,
doComputeShape
, position, color
127
);
128
}
129
130
lsst::geom::Box2I
doComputeBBox
(
131
lsst::geom::Point2D
const
& position,
132
image::Color
const
& color
133
)
const override
{
134
PYBIND11_OVERLOAD_PURE_NAME(
135
lsst::geom::Box2I
, Base,
"_doComputeBBox"
,
doComputeBBox
, position, color
136
);
137
}
138
};
139
140
}
// namespace detection
141
}
// namespace afw
142
}
// namespace lsst
143
144
#endif
Psf.h
lsst::afw::detection::PsfTrampoline::getAveragePosition
lsst::geom::Point2D getAveragePosition() const override
Definition
python.h:80
lsst::afw::detection::PsfTrampoline::doComputeImage
std::shared_ptr< Image > doComputeImage(lsst::geom::Point2D const &position, image::Color const &color) const override
Definition
python.h:85
lsst::afw::detection::PsfTrampoline::doComputeBBox
lsst::geom::Box2I doComputeBBox(lsst::geom::Point2D const &position, image::Color const &color) const override
Definition
python.h:130
lsst::afw::detection::PsfTrampoline::Image
typename Base::Image Image
Definition
python.h:52
lsst::afw::detection::PsfTrampoline::clone
std::shared_ptr< Psf > clone() const override
Definition
python.h:69
lsst::afw::detection::PsfTrampoline::doComputeImageBBox
lsst::geom::Box2I doComputeImageBBox(lsst::geom::Point2D const &position, image::Color const &color) const override
Definition
python.h:94
lsst::afw::detection::PsfTrampoline::doComputeApertureFlux
double doComputeApertureFlux(double radius, lsst::geom::Point2D const &position, image::Color const &color) const override
Definition
python.h:112
lsst::afw::detection::PsfTrampoline::PsfTrampoline
PsfTrampoline(Args... args)
Delegating constructor for wrapped class.
Definition
python.h:67
lsst::afw::detection::PsfTrampoline::doComputeKernelImage
std::shared_ptr< Image > doComputeKernelImage(lsst::geom::Point2D const &position, image::Color const &color) const override
Definition
python.h:103
lsst::afw::detection::PsfTrampoline::resized
std::shared_ptr< Psf > resized(int width, int height) const override
Definition
python.h:76
lsst::afw::detection::PsfTrampoline::doComputeShape
geom::ellipses::Quadrupole doComputeShape(lsst::geom::Point2D const &position, image::Color const &color) const override
Definition
python.h:121
lsst::afw::geom::ellipses::Quadrupole
An ellipse core with quadrupole moments as parameters.
Definition
Quadrupole.h:47
lsst::afw::image::Color
Describe the colour of a source.
Definition
Color.h:23
lsst::afw::typehandling::StorableHelper
"Trampoline" for Storable to let it be used as a base class in Python.
Definition
python.h:54
lsst::afw::typehandling::StorableHelper::StorableHelper
StorableHelper(Args... args)
Delegating constructor for wrapped class.
Definition
python.h:71
lsst::geom::Box2I
lsst::afw::detection
Definition
Footprint.h:50
lsst::afw
Definition
imageAlgorithm.dox:1
lsst::geom::Point2D
Point< double, 2 > Point2D
lsst
std::shared_ptr
python.h
Generated on
for lsst.afw by
1.17.0