lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
geom
ellipses
Distortion.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_Distortion_h_INCLUDED
26
#define LSST_AFW_GEOM_ELLIPSES_Distortion_h_INCLUDED
27
28
#include "
lsst/afw/geom/ellipses/EllipticityBase.h
"
29
30
namespace
lsst
{
31
namespace
afw
{
32
namespace
geom
{
33
namespace
ellipses
{
34
35
class
ConformalShear
;
36
class
ReducedShear
;
37
44
class
Distortion
:
public
detail::EllipticityBase
{
45
public
:
46
explicit
Distortion
(
std::complex<double>
const
& complex) :
detail
::
EllipticityBase
(complex) {}
47
48
explicit
Distortion
(
double
e1 = 0.0,
double
e2 = 0.0) :
detail
::
EllipticityBase
(e1, e2) {}
49
50
Distortion
(
Distortion
const
& other) :
detail
::
EllipticityBase
(other.
getComplex
()) {}
51
// Delegate to copy-constructor for backwards compatibility
52
Distortion
(
Distortion
&& other) :
Distortion
(other) {}
53
~Distortion
() =
default
;
54
55
explicit
Distortion
(
ConformalShear
const
& other) { this->
operator=
(other); }
56
57
explicit
Distortion
(
ReducedShear
const
& other) { this->
operator=
(other); }
58
59
Distortion
&
operator=
(
Distortion
const
& other) {
60
_complex
= other.
_complex
;
61
return
*
this
;
62
}
63
// Delegate to copy-assignment for backwards compatibility
64
Distortion
&
operator=
(
Distortion
&& other) {
return
*
this
= other; }
65
66
Distortion
&
operator=
(
ConformalShear
const
& other);
67
68
Distortion
&
operator=
(
ReducedShear
const
& other);
69
70
Jacobian
dAssign
(
Distortion
const
& other) {
71
_complex
= other.
_complex
;
72
return
Jacobian::Identity();
73
}
74
75
Jacobian
dAssign
(
ConformalShear
const
& other);
76
77
Jacobian
dAssign
(
ReducedShear
const
& other);
78
79
double
getAxisRatio
()
const
;
80
81
void
normalize
();
82
83
static
std::string
getName
() {
return
"Distortion"
; }
84
};
85
}
// namespace ellipses
86
}
// namespace geom
87
}
// namespace afw
88
}
// namespace lsst
89
90
#endif
// !LSST_AFW_GEOM_ELLIPSES_Distortion_h_INCLUDED
EllipticityBase.h
std::string
lsst::afw::geom::ellipses::ConformalShear
A logarithmic complex ellipticity with magnitude .
Definition
ConformalShear.h:45
lsst::afw::geom::ellipses::Distortion
A complex ellipticity with magnitude .
Definition
Distortion.h:44
lsst::afw::geom::ellipses::Distortion::Distortion
Distortion(ReducedShear const &other)
Definition
Distortion.h:57
lsst::afw::geom::ellipses::Distortion::Distortion
Distortion(Distortion const &other)
Definition
Distortion.h:50
lsst::afw::geom::ellipses::Distortion::normalize
void normalize()
Definition
Distortion.cc:87
lsst::afw::geom::ellipses::Distortion::Distortion
Distortion(ConformalShear const &other)
Definition
Distortion.h:55
lsst::afw::geom::ellipses::Distortion::dAssign
Jacobian dAssign(Distortion const &other)
Definition
Distortion.h:70
lsst::afw::geom::ellipses::Distortion::~Distortion
~Distortion()=default
lsst::afw::geom::ellipses::Distortion::operator=
Distortion & operator=(Distortion const &other)
Definition
Distortion.h:59
lsst::afw::geom::ellipses::Distortion::Distortion
Distortion(std::complex< double > const &complex)
Definition
Distortion.h:46
lsst::afw::geom::ellipses::Distortion::getAxisRatio
double getAxisRatio() const
Definition
Distortion.cc:34
lsst::afw::geom::ellipses::Distortion::getName
static std::string getName()
Definition
Distortion.h:83
lsst::afw::geom::ellipses::Distortion::operator=
Distortion & operator=(Distortion &&other)
Definition
Distortion.h:64
lsst::afw::geom::ellipses::Distortion::Distortion
Distortion(double e1=0.0, double e2=0.0)
Definition
Distortion.h:48
lsst::afw::geom::ellipses::Distortion::Distortion
Distortion(Distortion &&other)
Definition
Distortion.h:52
lsst::afw::geom::ellipses::ReducedShear
A complex ellipticity with magnitude .
Definition
ReducedShear.h:45
lsst::afw::geom::ellipses::detail::EllipticityBase
EllipticityBase is a base class for complex ellipticity types.
Definition
EllipticityBase.h:45
lsst::afw::geom::ellipses::detail::EllipticityBase::EllipticityBase
EllipticityBase(EllipticityBase const &)=default
lsst::afw::geom::ellipses::detail::EllipticityBase::Jacobian
Eigen::Matrix2d Jacobian
Definition
EllipticityBase.h:47
lsst::afw::geom::ellipses::detail::EllipticityBase::_complex
std::complex< double > _complex
Definition
EllipticityBase.h:91
lsst::afw::geom::ellipses::detail::EllipticityBase::getComplex
std::complex< double > & getComplex()
Definition
EllipticityBase.h:51
std::complex
lsst::afw::geom::ellipses::detail
Definition
EllipticityBase.h:36
lsst::afw::geom::ellipses
Definition
ellipses.h:50
lsst::afw::geom
Definition
frameSetUtils.h:40
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
Generated on
for lsst.afw by
1.17.0