LSST Applications g0b6bd0c080+a72a5dd7e6,g1182afd7b4+2a019aa3bb,g17e5ecfddb+2b8207f7de,g1d67935e3f+06cf436103,g38293774b4+ac198e9f13,g396055baef+6a2097e274,g3b44f30a73+6611e0205b,g480783c3b1+98f8679e14,g48ccf36440+89c08d0516,g4b93dc025c+98f8679e14,g5c4744a4d9+a302e8c7f0,g613e996a0d+e1c447f2e0,g6c8d09e9e7+25247a063c,g7271f0639c+98f8679e14,g7a9cd813b8+124095ede6,g9d27549199+a302e8c7f0,ga1cf026fa3+ac198e9f13,ga32aa97882+7403ac30ac,ga786bb30fb+7a139211af,gaa63f70f4e+9994eb9896,gabf319e997+ade567573c,gba47b54d5d+94dc90c3ea,gbec6a3398f+06cf436103,gc6308e37c7+07dd123edb,gc655b1545f+ade567573c,gcc9029db3c+ab229f5caf,gd01420fc67+06cf436103,gd877ba84e5+06cf436103,gdb4cecd868+6f279b5b48,ge2d134c3d5+cc4dbb2e3f,ge448b5faa6+86d1ceac1d,gecc7e12556+98f8679e14,gf3ee170dca+25247a063c,gf4ac96e456+ade567573c,gf9f5ea5b4d+ac198e9f13,gff490e6085+8c2580be5c,w.2022.27
LSST Data Management Base Package
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