lsst.meas.modelfit
g9a9c865167+311602a9c2
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
meas
modelfit
UnitSystem.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008-2013 LSST Corporation.
5
*
6
* This product includes software developed by the
7
* LSST Project (http://www.lsst.org/).
8
*
9
* This program is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the LSST License Statement and
20
* the GNU General Public License along with this program. If not,
21
* see <http://www.lsstcorp.org/LegalNotices/>.
22
*/
23
24
#ifndef LSST_MEAS_MODELFIT_UnitSystem_h_INCLUDED
25
#define LSST_MEAS_MODELFIT_UnitSystem_h_INCLUDED
26
27
#include "
lsst/afw/image/Exposure.h
"
28
#include "
lsst/geom/SpherePoint.h
"
29
#include "
lsst/afw/geom/SkyWcs.h
"
30
#include "
lsst/afw/image/PhotoCalib.h
"
31
#include "
lsst/geom/AffineTransform.h
"
32
33
#include "
lsst/meas/modelfit/common.h
"
34
35
namespace
lsst
{
36
namespace
meas
{
37
namespace
modelfit
{
38
42
struct
UnitSystem
{
43
std::shared_ptr<afw::geom::SkyWcs const>
wcs
;
44
std::shared_ptr<afw::image::PhotoCalib const>
photoCalib
;
45
53
UnitSystem
(
geom::SpherePoint
const
& position,
54
std::shared_ptr<const afw::image::PhotoCalib>
photoCalib
,
double
flux);
55
UnitSystem
(
geom::SpherePoint
const
& position,
Scalar
mag);
56
58
UnitSystem
(
std::shared_ptr<afw::geom::SkyWcs const>
wcs_,
59
std::shared_ptr<afw::image::PhotoCalib const>
photoCalib
)
60
:
wcs
(wcs_),
photoCalib
(validatePhotoCalib(
photoCalib
)) {}
61
63
template
<
typename
T>
64
UnitSystem
(
afw::image::Exposure<T>
const
& exposure)
65
:
wcs
(exposure.getWcs()),
photoCalib
(validatePhotoCalib(exposure.getPhotoCalib())) {}
66
67
private
:
68
std::shared_ptr<const afw::image::PhotoCalib>
validatePhotoCalib(
69
std::shared_ptr<const afw::image::PhotoCalib>
photoCalib
);
70
static
std::shared_ptr<const afw::image::PhotoCalib>
getDefaultPhotoCalib();
71
};
72
80
struct
LocalUnitTransform
{
82
geom::AffineTransform
geometric
;
83
85
double
flux
;
86
88
double
sb
;
89
90
LocalUnitTransform
(
geom::Point2D
const
& sourcePixel,
UnitSystem
const
& source,
91
UnitSystem
const
& destination);
92
94
LocalUnitTransform
() :
geometric
(),
flux
(1.0),
sb
(1.0) {}
95
};
96
97
}
// namespace modelfit
98
}
// namespace meas
99
}
// namespace lsst
100
101
#endif
// !LSST_MEAS_MODELFIT_UnitSystem_h_INCLUDED
AffineTransform.h
PhotoCalib.h
SkyWcs.h
SpherePoint.h
lsst::afw::image::Exposure
lsst::geom::AffineTransform
lsst::geom::SpherePoint
common.h
Exposure.h
lsst::geom::Point2D
Point< double, 2 > Point2D
lsst::meas::modelfit
Definition
overview.dox:3
lsst::meas::modelfit::Scalar
double Scalar
Typedefs to be used for probability and parameter values.
Definition
common.h:44
lsst::meas
lsst
std::shared_ptr
lsst::meas::modelfit::LocalUnitTransform::flux
double flux
Multiply source fluxes by this to get destination fluxes.
Definition
UnitSystem.h:85
lsst::meas::modelfit::LocalUnitTransform::LocalUnitTransform
LocalUnitTransform(geom::Point2D const &sourcePixel, UnitSystem const &source, UnitSystem const &destination)
lsst::meas::modelfit::LocalUnitTransform::geometric
geom::AffineTransform geometric
Maps source pixel coordinates to destination pixel coordinates.
Definition
UnitSystem.h:82
lsst::meas::modelfit::LocalUnitTransform::sb
double sb
Multiply source surface brightnesses by this to get destination surface brightnesses.
Definition
UnitSystem.h:88
lsst::meas::modelfit::LocalUnitTransform::LocalUnitTransform
LocalUnitTransform()
Construct an identity transform for both geometry and flux.
Definition
UnitSystem.h:94
lsst::meas::modelfit::UnitSystem
A simple struct that combines a Wcs and a PhotoCalib.
Definition
UnitSystem.h:42
lsst::meas::modelfit::UnitSystem::wcs
std::shared_ptr< afw::geom::SkyWcs const > wcs
Definition
UnitSystem.h:43
lsst::meas::modelfit::UnitSystem::UnitSystem
UnitSystem(geom::SpherePoint const &position, Scalar mag)
lsst::meas::modelfit::UnitSystem::photoCalib
std::shared_ptr< afw::image::PhotoCalib const > photoCalib
Definition
UnitSystem.h:44
lsst::meas::modelfit::UnitSystem::UnitSystem
UnitSystem(std::shared_ptr< afw::geom::SkyWcs const > wcs_, std::shared_ptr< afw::image::PhotoCalib const > photoCalib)
Construct a UnitSystem from a given Wcs and PhotoCalib.
Definition
UnitSystem.h:58
lsst::meas::modelfit::UnitSystem::UnitSystem
UnitSystem(afw::image::Exposure< T > const &exposure)
Construct a UnitSystem by extracting the Wcs and PhotoCalib from an Exposure (implicit).
Definition
UnitSystem.h:64
lsst::meas::modelfit::UnitSystem::UnitSystem
UnitSystem(geom::SpherePoint const &position, std::shared_ptr< const afw::image::PhotoCalib > photoCalib, double flux)
Construct a "standard" UnitSystem.
Generated on
for lsst.meas.modelfit by
1.17.0