LSST Applications g070148d5b3+33e5256705,g0d53e28543+25c8b88941,g0da5cf3356+2dd1178308,g1081da9e2a+62d12e78cb,g17e5ecfddb+7e422d6136,g1c76d35bf8+ede3a706f7,g295839609d+225697d880,g2e2c1a68ba+cc1f6f037e,g2ffcdf413f+853cd4dcde,g38293774b4+62d12e78cb,g3b44f30a73+d953f1ac34,g48ccf36440+885b902d19,g4b2f1765b6+7dedbde6d2,g5320a0a9f6+0c5d6105b6,g56b687f8c9+ede3a706f7,g5c4744a4d9+ef6ac23297,g5ffd174ac0+0c5d6105b6,g6075d09f38+66af417445,g667d525e37+2ced63db88,g670421136f+2ced63db88,g71f27ac40c+2ced63db88,g774830318a+463cbe8d1f,g7876bc68e5+1d137996f1,g7985c39107+62d12e78cb,g7fdac2220c+0fd8241c05,g96f01af41f+368e6903a7,g9ca82378b8+2ced63db88,g9d27549199+ef6ac23297,gabe93b2c52+e3573e3735,gb065e2a02a+3dfbe639da,gbc3249ced9+0c5d6105b6,gbec6a3398f+0c5d6105b6,gc9534b9d65+35b9f25267,gd01420fc67+0c5d6105b6,geee7ff78d7+a14128c129,gf63283c776+ede3a706f7,gfed783d017+0c5d6105b6,w.2022.47
LSST Data Management Base Package
Loading...
Searching...
No Matches
wcsMap.cc
Go to the documentation of this file.
1/*
2 * LSST Data Management System
3 *
4 * This product includes software developed by the
5 * LSST Project (http://www.lsst.org/).
6 * See the COPYRIGHT file
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the LSST License Statement and
19 * the GNU General Public License along with this program. If not,
20 * see <https://www.lsstcorp.org/LegalNotices/>.
21 */
22#include <memory>
23
24#include <pybind11/pybind11.h>
25#include <pybind11/stl.h>
26
27#include "astshim/Mapping.h"
28#include "astshim/WcsMap.h"
29
30namespace py = pybind11;
31using namespace pybind11::literals;
32
33namespace ast {
34namespace {
35
36PYBIND11_MODULE(wcsMap, mod) {
37 py::module::import("astshim.mapping");
38
39 py::enum_<WcsType>(mod, "WcsType")
40 .value("AZP", WcsType::AZP)
41 .value("SZP", WcsType::SZP)
42 .value("TAN", WcsType::TAN)
43 .value("STG", WcsType::STG)
44 .value("SIN", WcsType::SIN)
45 .value("ARC", WcsType::ARC)
46 .value("ZPN", WcsType::ZPN)
47 .value("ZEA", WcsType::ZEA)
48 .value("AIR", WcsType::AIR)
49 .value("CYP", WcsType::CYP)
50 .value("CEA", WcsType::CEA)
51 .value("CAR", WcsType::CAR)
52 .value("MER", WcsType::MER)
53 .value("SFL", WcsType::SFL)
54 .value("PAR", WcsType::PAR)
55 .value("MOL", WcsType::MOL)
56 .value("AIT", WcsType::AIT)
57 .value("COP", WcsType::COP)
58 .value("COE", WcsType::COE)
59 .value("COD", WcsType::COD)
60 .value("COO", WcsType::COO)
61 .value("BON", WcsType::BON)
62 .value("PCO", WcsType::PCO)
63 .value("TSC", WcsType::TSC)
64 .value("CSC", WcsType::CSC)
65 .value("QSC", WcsType::QSC)
66 .value("NCP", WcsType::NCP)
67 .value("GLS", WcsType::GLS)
68 .value("TPN", WcsType::TPN)
69 .value("HPX", WcsType::HPX)
70 .value("XPH", WcsType::XPH)
71 .value("WCSBAD", WcsType::WCSBAD)
72 .export_values();
73
74 py::class_<WcsMap, std::shared_ptr<WcsMap>, Mapping> cls(mod, "WcsMap");
75
76 cls.def(py::init<int, WcsType, int, int, std::string const &>(), "ncoord"_a, "type"_a, "lonax"_a,
77 "latax"_a, "options"_a = "");
78 cls.def(py::init<WcsMap const &>());
79
80 cls.def_property_readonly("natLat", &WcsMap::getNatLat);
81 cls.def_property_readonly("natLon", &WcsMap::getNatLon);
82 cls.def_property_readonly("wcsType", &WcsMap::getWcsType);
83 cls.def_property_readonly("wcsAxis", &WcsMap::getWcsAxis);
84
85 cls.def("copy", &WcsMap::copy);
86 cls.def("getPVi_m", &WcsMap::getPVi_m, "i"_a, "m"_a);
87 cls.def("getPVMax", &WcsMap::getPVMax);
88}
89
90} // namespace
91} // namespace ast
WcsType getWcsType() const
Get WcsType: FITS-WCS projection type.
Definition: WcsMap.h:256
double getNatLat() const
get NatLat: native latitude of the reference point of a FITS-WCS projection.
Definition: WcsMap.h:227
double getNatLon() const
get NatLon: native longitude of the reference point of a FITS-WCS projection.
Definition: WcsMap.h:230
std::shared_ptr< WcsMap > copy() const
Return a deep copy of this object.
Definition: WcsMap.h:224
int getPVMax(int axis) const
Get PVMax(axis) for one axis: maximum number of FITS-WCS projection parameters.
Definition: WcsMap.h:245
std::pair< int, int > getWcsAxis() const
Get WcsAxis(lonlat) FITS-WCS projection axis for longitude, latitude.
Definition: WcsMap.h:250
double getPVi_m(int i, int m) const
Get PVi_m for one value of i and m: a FITS-WCS projection parameter.
Definition: WcsMap.h:238
AST wrapper classes and functions.
PYBIND11_MODULE(_cameraGeom, mod)
Definition: _cameraGeom.cc:38