lsst.meas.astrom
g91f025aaea+ee76a57405
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
meas
astrom
sip
CreateWcsWithSip.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 CREATE_WCS_WITH_SIP
26
#define CREATE_WCS_WITH_SIP
27
28
#include <memory>
29
#include <vector>
30
31
#include "
lsst/base.h
"
32
#include "Eigen/Core"
33
34
#include "
lsst/afw/table/Match.h
"
35
#include "
lsst/geom/Angle.h
"
36
#include "
lsst/geom/Box.h
"
37
38
namespace
lsst
{
39
namespace
meas
{
40
namespace
astrom
{
41
namespace
sip
{
42
75
template
<
class
MatchT>
76
class
CreateWcsWithSip
{
77
public
:
78
typedef
std::shared_ptr<CreateWcsWithSip>
Ptr
;
79
typedef
std::shared_ptr<CreateWcsWithSip const>
ConstPtr
;
80
95
CreateWcsWithSip
(
std::vector<MatchT>
const
& matches,
afw::geom::SkyWcs
const
& linearWcs,
int
const
order,
96
geom::Box2I
const
& bbox =
geom::Box2I
(),
int
const
ngrid = 0);
97
98
std::shared_ptr<afw::geom::SkyWcs>
getNewWcs
() {
return
_newWcs; }
99
106
double
getScatterInPixels
()
const
;
107
114
geom::Angle
getScatterOnSky
()
const
;
115
122
double
getLinearScatterInPixels
()
const
;
123
130
geom::Angle
getLinearScatterOnSky
()
const
;
131
133
int
getOrder
()
const
{
return
_sipA.rows(); }
135
int
getNPoints
()
const
{
return
_matches.size(); }
137
int
getNGrid
()
const
{
return
_ngrid; }
138
139
// Return the SIP A matrix
140
Eigen::MatrixXd
const
getSipA
() {
return
_sipA; }
141
// Return the SIP B matrix
142
Eigen::MatrixXd
const
getSipB
() {
return
_sipB; }
143
// Return the SIP Ap matrix
144
Eigen::MatrixXd
const
getSipAp
() {
return
_sipAp; }
145
// Return the SIP Bp matrix
146
Eigen::MatrixXd
const
getSipBp
() {
return
_sipBp; }
147
148
private
:
149
std::vector<MatchT>
const
_matches;
150
geom::Box2I
mutable
_bbox;
151
int
_ngrid;
// grid size to calculate inverse SIP coefficients (1-D)
152
std::shared_ptr<const afw::geom::SkyWcs>
_linearWcs;
153
// _sipOrder is polynomial order for forward transform.
154
// _reverseSipOrder is order for reverse transform, not necessarily the same.
155
int
const
_sipOrder, _reverseSipOrder;
156
157
Eigen::MatrixXd _sipA, _sipB;
158
Eigen::MatrixXd _sipAp, _sipBp;
159
160
std::shared_ptr<afw::geom::SkyWcs>
_newWcs;
161
162
void
_calculateForwardMatrices();
163
void
_calculateReverseMatrices();
164
};
165
167
template
<
class
MatchT>
168
CreateWcsWithSip<MatchT>
makeCreateWcsWithSip
(
std::vector<MatchT>
const
& matches,
169
afw::geom::SkyWcs
const
& linearWcs,
int
const
order,
170
geom::Box2I
const
& bbox =
geom::Box2I
(),
int
const
ngrid = 0) {
171
return
CreateWcsWithSip<MatchT>
(matches, linearWcs, order, bbox, ngrid);
172
}
173
174
}
// namespace sip
175
}
// namespace astrom
176
}
// namespace meas
177
}
// namespace lsst
178
179
#endif
Angle.h
Box.h
Match.h
base.h
lsst::afw::geom::SkyWcs
lsst::geom::Angle
lsst::geom::Box2I
lsst::meas::astrom::sip::CreateWcsWithSip
Measure the distortions in an image plane and express them a SIP polynomials.
Definition
CreateWcsWithSip.h:76
lsst::meas::astrom::sip::CreateWcsWithSip::getSipA
Eigen::MatrixXd const getSipA()
Definition
CreateWcsWithSip.h:140
lsst::meas::astrom::sip::CreateWcsWithSip::getSipBp
Eigen::MatrixXd const getSipBp()
Definition
CreateWcsWithSip.h:146
lsst::meas::astrom::sip::CreateWcsWithSip::getLinearScatterInPixels
double getLinearScatterInPixels() const
Compute the median radial separation between items in this object's match list.
Definition
CreateWcsWithSip.cc:358
lsst::meas::astrom::sip::CreateWcsWithSip::Ptr
std::shared_ptr< CreateWcsWithSip > Ptr
Definition
CreateWcsWithSip.h:78
lsst::meas::astrom::sip::CreateWcsWithSip::ConstPtr
std::shared_ptr< CreateWcsWithSip const > ConstPtr
Definition
CreateWcsWithSip.h:79
lsst::meas::astrom::sip::CreateWcsWithSip::getNGrid
int getNGrid() const
Return the number of grid points (on each axis) used in inverse SIP transform.
Definition
CreateWcsWithSip.h:137
lsst::meas::astrom::sip::CreateWcsWithSip::getSipB
Eigen::MatrixXd const getSipB()
Definition
CreateWcsWithSip.h:142
lsst::meas::astrom::sip::CreateWcsWithSip::getNPoints
int getNPoints() const
Return the number of points in the catalogue.
Definition
CreateWcsWithSip.h:135
lsst::meas::astrom::sip::CreateWcsWithSip::getOrder
int getOrder() const
Return the number of terms in the SIP matrix.
Definition
CreateWcsWithSip.h:133
lsst::meas::astrom::sip::CreateWcsWithSip::getScatterInPixels
double getScatterInPixels() const
Compute the median separation, in pixels, between items in this object's match list.
Definition
CreateWcsWithSip.cc:352
lsst::meas::astrom::sip::CreateWcsWithSip::getSipAp
Eigen::MatrixXd const getSipAp()
Definition
CreateWcsWithSip.h:144
lsst::meas::astrom::sip::CreateWcsWithSip::getNewWcs
std::shared_ptr< afw::geom::SkyWcs > getNewWcs()
Definition
CreateWcsWithSip.h:98
lsst::meas::astrom::sip::CreateWcsWithSip::getScatterOnSky
geom::Angle getScatterOnSky() const
Compute the median on-sky separation between items in this object's match list.
Definition
CreateWcsWithSip.cc:364
lsst::meas::astrom::sip::CreateWcsWithSip::getLinearScatterOnSky
geom::Angle getLinearScatterOnSky() const
Compute the median on-sky separation between items in this object's match list,.
Definition
CreateWcsWithSip.cc:370
lsst::meas::astrom::sip::CreateWcsWithSip::CreateWcsWithSip
CreateWcsWithSip(std::vector< MatchT > const &matches, afw::geom::SkyWcs const &linearWcs, int const order, geom::Box2I const &bbox=geom::Box2I(), int const ngrid=0)
Construct a CreateWcsWithSip.
Definition
CreateWcsWithSip.cc:102
lsst::meas::astrom::sip
Definition
CreateWcsWithSip.h:41
lsst::meas::astrom::sip::makeCreateWcsWithSip
CreateWcsWithSip< MatchT > makeCreateWcsWithSip(std::vector< MatchT > const &matches, afw::geom::SkyWcs const &linearWcs, int const order, geom::Box2I const &bbox=geom::Box2I(), int const ngrid=0)
Factory function for CreateWcsWithSip.
Definition
CreateWcsWithSip.h:168
lsst::meas::astrom
Definition
polynomialUtils.h:32
lsst::meas
Definition
polynomialUtils.h:31
lsst
std::shared_ptr
std::vector
Generated on
for lsst.meas.astrom by
1.17.0