lsst.meas.algorithms
g4a7591d645+ff8a1bd350
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
meas
algorithms
ExposurePatch.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
#if !defined(LSST_MEAS_ALGORITHMS_EXPOSURE_PATCH_H)
26
#define LSST_MEAS_ALGORITHMS_EXPOSURE_PATCH_H
27
28
#include "
lsst/base.h
"
29
#include "
lsst/geom/AffineTransform.h
"
30
#include "
lsst/geom/Point.h
"
31
#include "
lsst/afw/detection/Footprint.h
"
32
#include "
lsst/afw/geom/SkyWcs.h
"
33
34
namespace
lsst
{
35
namespace
meas
{
36
namespace
algorithms
{
37
41
template
<
typename
ExposureT>
42
class
ExposurePatch
{
43
public
:
44
typedef
unsigned
char
FlagT
;
45
typedef
std::shared_ptr<ExposurePatch>
Ptr
;
46
typedef
std::shared_ptr<ExposurePatch const>
ConstPtr
;
47
49
ExposurePatch
(
std::shared_ptr<ExposureT const>
exp,
50
std::shared_ptr<afw::detection::Footprint const>
foot,
51
geom::Point2D
const
& center
52
)
53
: _exp(exp), _foot(foot), _center(center), _fromStandard(), _toStandard() {}
54
ExposurePatch
(
std::shared_ptr<ExposureT const>
exp,
55
afw::detection::Footprint
const
& standardFoot,
56
geom::Point2D
const
& standardCenter,
57
afw::geom::SkyWcs
const
& standardWcs
58
)
59
: _exp(exp) {
60
afw::geom::SkyWcs
const
& expWcs = *exp->getWcs();
61
auto
const
sky = standardWcs.
pixelToSky
(standardCenter);
62
const_cast<
std::shared_ptr<afw::detection::Footprint const>
&
>
(_foot) =
63
standardFoot.
transform
(standardWcs, expWcs, exp->getBBox());
64
const_cast<
geom::Point2D
&
>
(_center) = expWcs.
skyToPixel
(sky);
65
const_cast<
geom::AffineTransform
&
>
(_fromStandard) =
66
standardWcs.
linearizePixelToSky
(sky) * expWcs.
linearizeSkyToPixel
(sky);
67
const_cast<
geom::AffineTransform
&
>
(_toStandard) =
68
expWcs.
linearizePixelToSky
(sky) * standardWcs.
linearizeSkyToPixel
(sky);
69
}
70
72
std::shared_ptr<ExposureT const>
const
getExposure
()
const
{
return
_exp; }
73
std::shared_ptr<afw::detection::Footprint const>
const
getFootprint
()
const
{
return
_foot; }
74
geom::Point2D
const
&
getCenter
()
const
{
return
_center; }
75
geom::AffineTransform
const
&
fromStandard
()
const
{
return
_fromStandard; }
76
geom::AffineTransform
const
&
toStandard
()
const
{
return
_toStandard; }
77
79
void
setCenter
(
geom::Point2D
const
& center) { _center = center; }
80
81
private
:
82
std::shared_ptr<ExposureT const>
const
_exp;
83
std::shared_ptr<afw::detection::Footprint const>
const
_foot;
84
geom::Point2D
_center;
85
geom::AffineTransform
const
_fromStandard;
86
geom::AffineTransform
const
_toStandard;
87
};
88
90
template
<
typename
ExposureT>
91
std::shared_ptr<ExposurePatch<ExposureT>
>
92
makeExposurePatch
(
std::shared_ptr<ExposureT const>
exp,
std::shared_ptr<afw::detection::Footprint const>
foot,
93
geom::Point2D
const
& center) {
94
return
std::make_shared<ExposurePatch<ExposureT>
>(exp, foot, center);
95
}
96
template
<
typename
ExposureT>
97
std::shared_ptr<ExposurePatch<ExposureT>
>
98
makeExposurePatch
(
std::shared_ptr<ExposureT const>
exp,
afw::detection::Footprint
const
& standardFoot,
99
geom::Point2D
const
& standardCenter,
afw::geom::SkyWcs
const
& standardWcs) {
100
return
std::make_shared<ExposurePatch<ExposureT>
>(exp, standardFoot, standardCenter, standardWcs);
101
}
102
103
}
// namespace algorithms
104
}
// namespace meas
105
}
// namespace lsst
106
107
#endif
AffineTransform.h
Footprint.h
Point.h
SkyWcs.h
base.h
lsst::afw::detection::Footprint
lsst::afw::detection::Footprint::transform
std::shared_ptr< Footprint > transform(std::shared_ptr< geom::SkyWcs > source, std::shared_ptr< geom::SkyWcs > target, lsst::geom::Box2I const ®ion, bool doClip=true) const
lsst::afw::geom::SkyWcs
lsst::afw::geom::SkyWcs::pixelToSky
lsst::geom::SpherePoint pixelToSky(lsst::geom::Point2D const &pixel) const
lsst::afw::geom::SkyWcs::linearizePixelToSky
lsst::geom::AffineTransform linearizePixelToSky(lsst::geom::SpherePoint const &coord, lsst::geom::AngleUnit const &skyUnit) const
lsst::afw::geom::SkyWcs::linearizeSkyToPixel
lsst::geom::AffineTransform linearizeSkyToPixel(lsst::geom::SpherePoint const &coord, lsst::geom::AngleUnit const &skyUnit) const
lsst::afw::geom::SkyWcs::skyToPixel
lsst::geom::Point2D skyToPixel(lsst::geom::SpherePoint const &sky) const
lsst::geom::AffineTransform
lsst::meas::algorithms::ExposurePatch::setCenter
void setCenter(geom::Point2D const ¢er)
Modifiers.
Definition
ExposurePatch.h:79
lsst::meas::algorithms::ExposurePatch::getFootprint
std::shared_ptr< afw::detection::Footprint const > const getFootprint() const
Definition
ExposurePatch.h:73
lsst::meas::algorithms::ExposurePatch::ExposurePatch
ExposurePatch(std::shared_ptr< ExposureT const > exp, afw::detection::Footprint const &standardFoot, geom::Point2D const &standardCenter, afw::geom::SkyWcs const &standardWcs)
Definition
ExposurePatch.h:54
lsst::meas::algorithms::ExposurePatch::getCenter
geom::Point2D const & getCenter() const
Definition
ExposurePatch.h:74
lsst::meas::algorithms::ExposurePatch::toStandard
geom::AffineTransform const & toStandard() const
Definition
ExposurePatch.h:76
lsst::meas::algorithms::ExposurePatch::Ptr
std::shared_ptr< ExposurePatch > Ptr
Definition
ExposurePatch.h:45
lsst::meas::algorithms::ExposurePatch::fromStandard
geom::AffineTransform const & fromStandard() const
Definition
ExposurePatch.h:75
lsst::meas::algorithms::ExposurePatch::ExposurePatch
ExposurePatch(std::shared_ptr< ExposureT const > exp, std::shared_ptr< afw::detection::Footprint const > foot, geom::Point2D const ¢er)
Constructor.
Definition
ExposurePatch.h:49
lsst::meas::algorithms::ExposurePatch::FlagT
unsigned char FlagT
Type for flags.
Definition
ExposurePatch.h:44
lsst::meas::algorithms::ExposurePatch::ConstPtr
std::shared_ptr< ExposurePatch const > ConstPtr
Definition
ExposurePatch.h:46
lsst::meas::algorithms::ExposurePatch::getExposure
std::shared_ptr< ExposureT const > const getExposure() const
Accessors.
Definition
ExposurePatch.h:72
std::make_shared
T make_shared(T... args)
lsst::geom::Point2D
Point< double, 2 > Point2D
lsst::meas::algorithms
Definition
mainpage.dox:13
lsst::meas::algorithms::makeExposurePatch
std::shared_ptr< ExposurePatch< ExposureT > > makeExposurePatch(std::shared_ptr< ExposureT const > exp, std::shared_ptr< afw::detection::Footprint const > foot, geom::Point2D const ¢er)
Factory function for ExposurePatch.
Definition
ExposurePatch.h:92
lsst::meas
lsst
std::shared_ptr
Generated on
for lsst.meas.algorithms by
1.17.0