lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
geom
ellipses
Convolution.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008, 2009, 2010 LSST Corporation.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
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 LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <http://www.lsstcorp.org/LegalNotices/>.
23
*/
24
25
#ifndef LSST_AFW_GEOM_ELLIPSES_Convolution_h_INCLUDED
26
#define LSST_AFW_GEOM_ELLIPSES_Convolution_h_INCLUDED
27
28
/*
29
* Definitions for BaseEllipse::Convolution and BaseCore::Convolution.
30
*
31
* Note: do not include directly; use the main ellipse header file.
32
*/
33
34
#include "
lsst/afw/geom/ellipses/Ellipse.h
"
35
36
namespace
lsst
{
37
namespace
afw
{
38
namespace
geom
{
39
namespace
ellipses
{
40
44
class
BaseCore::Convolution
final {
45
public
:
47
using
DerivativeMatrix
= Eigen::Matrix3d;
48
50
Convolution
(
BaseCore
&
self
,
BaseCore
const
&
other
) :
self
(
self
),
other
(
other
) {}
51
53
std::shared_ptr<BaseCore>
copy
()
const
;
54
56
void
inPlace
();
57
59
DerivativeMatrix
d
()
const
;
60
61
void
apply
(
BaseCore
&result)
const
;
62
63
BaseCore
&
self
;
64
BaseCore
const
&
other
;
65
};
66
70
class
Ellipse::Convolution
final {
71
public
:
73
using
DerivativeMatrix
= Eigen::Matrix<double, 5, 5>;
74
76
Convolution
(Ellipse &
self
, Ellipse
const
&
other
) :
self
(
self
),
other
(
other
) {}
77
79
std::shared_ptr<Ellipse>
copy()
const
;
80
82
void
inPlace();
83
85
DerivativeMatrix d()
const
;
86
87
Ellipse &
self
;
88
Ellipse
const
&
other
;
89
};
90
91
inline
BaseCore::Convolution
BaseCore::convolve
(
BaseCore
const
&other) {
92
return
BaseCore::Convolution
(*
this
, other);
93
}
94
95
inline
BaseCore::Convolution
const
BaseCore::convolve
(
BaseCore
const
&other)
const
{
96
return
BaseCore::Convolution
(
const_cast<
BaseCore
&
>
(*
this
), other);
97
}
98
99
inline
Ellipse::Convolution
Ellipse::convolve
(
Ellipse
const
&other) {
100
return
Ellipse::Convolution(*
this
, other);
101
}
102
103
inline
Ellipse::Convolution
const
Ellipse::convolve
(
Ellipse
const
&other)
const
{
104
return
Ellipse::Convolution(
const_cast<
Ellipse
&
>
(*
this
), other);
105
}
106
}
// namespace ellipses
107
}
// namespace geom
108
}
// namespace afw
109
}
// namespace lsst
110
111
#endif
// !LSST_AFW_GEOM_ELLIPSES_Convolution_h_INCLUDED
Ellipse.h
lsst::afw::geom::ellipses::BaseCore::Convolution
A temporary-only expression object for ellipse core convolution.
Definition
Convolution.h:44
lsst::afw::geom::ellipses::BaseCore::Convolution::self
BaseCore & self
Definition
Convolution.h:63
lsst::afw::geom::ellipses::BaseCore::Convolution::DerivativeMatrix
Eigen::Matrix3d DerivativeMatrix
Matrix type for derivative with respect to input ellipse parameters.
Definition
Convolution.h:47
lsst::afw::geom::ellipses::BaseCore::Convolution::apply
void apply(BaseCore &result) const
Definition
Convolution.cc:50
lsst::afw::geom::ellipses::BaseCore::Convolution::other
BaseCore const & other
Definition
Convolution.h:64
lsst::afw::geom::ellipses::BaseCore::Convolution::copy
std::shared_ptr< BaseCore > copy() const
Return a new convolved ellipse core.
Definition
Convolution.cc:32
lsst::afw::geom::ellipses::BaseCore::Convolution::inPlace
void inPlace()
Convolve the ellipse core in-place.
Definition
Convolution.cc:38
lsst::afw::geom::ellipses::BaseCore::Convolution::Convolution
Convolution(BaseCore &self, BaseCore const &other)
Standard constructor.
Definition
Convolution.h:50
lsst::afw::geom::ellipses::BaseCore::Convolution::d
DerivativeMatrix d() const
Return the derivative of convolved core with respect to self.
Definition
Convolution.cc:40
lsst::afw::geom::ellipses::BaseCore::convolve
Convolution convolve(BaseCore const &other)
Return the size of the bounding box for the ellipse core.
Definition
Convolution.h:91
lsst::afw::geom::ellipses::BaseCore::BaseCore
BaseCore()=default
Return the size of the bounding box for the ellipse core.
_ellipses::Ellipse::Convolution
A temporary-only expression object for ellipse convolution.
Definition
Convolution.h:70
_ellipses::Ellipse::Convolution::Convolution
Convolution(Ellipse &self, Ellipse const &other)
Standard constructor.
Definition
Convolution.h:76
_ellipses::Ellipse::Convolution::DerivativeMatrix
Eigen::Matrix< double, 5, 5 > DerivativeMatrix
Matrix type for derivative with respect to input ellipse parameters.
Definition
Convolution.h:73
_ellipses::Ellipse::Convolution::self
Ellipse & self
Definition
Convolution.h:87
_ellipses::Ellipse::Convolution::other
Ellipse const & other
Definition
Convolution.h:88
lsst::afw::geom::ellipses::Ellipse::Ellipse
Ellipse(BaseCore const &core, lsst::geom::Point2D const ¢er=lsst::geom::Point2D())
Return the transform that maps the ellipse to the unit circle.
Definition
Ellipse.h:164
lsst::afw::geom::ellipses::Ellipse::convolve
Convolution convolve(Ellipse const &other)
Return the transform that maps the ellipse to the unit circle.
Definition
Convolution.h:99
lsst::afw::geom::ellipses
Definition
ellipses.h:50
lsst::afw::geom
Definition
frameSetUtils.h:40
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
std::shared_ptr
Generated on
for lsst.afw by
1.17.0