51void wrapFitsChan(lsst::utils::python::WrapperCollection &wrappers) {
52 wrappers.wrapType(py::enum_<FitsKeyState>(wrappers.module,
"FitsKeyState"), [](
auto &mod,
auto &enm) {
53 enm.value(
"ABSENT", FitsKeyState::ABSENT);
54 enm.value(
"NOVALUE", FitsKeyState::NOVALUE);
55 enm.value(
"PRESENT", FitsKeyState::PRESENT);
59 wrappers.wrapType(py::enum_<CardType>(wrappers.module,
"CardType"), [](
auto &mod,
auto &enm) {
60 enm.value(
"NOTYPE", CardType::NOTYPE);
61 enm.value(
"COMMENT", CardType::COMMENT);
62 enm.value(
"INT", CardType::INT);
63 enm.value(
"FLOAT", CardType::FLOAT);
64 enm.value(
"STRING", CardType::STRING);
65 enm.value(
"COMPLEXF", CardType::COMPLEXF);
66 enm.value(
"COMPLEXI", CardType::COMPLEXI);
67 enm.value(
"LOGICAL", CardType::LOGICAL);
68 enm.value(
"CONTINUE", CardType::CONTINUE);
69 enm.value(
"UNDEF", CardType::UNDEF);
74 wrapFoundValue<std::string>(wrappers,
"S");
75 wrapFoundValue<std::complex<double>>(wrappers,
"CF");
76 wrapFoundValue<double>(wrappers,
"F");
77 wrapFoundValue<int>(wrappers,
"I");
78 wrapFoundValue<bool>(wrappers,
"L");
81 using PyFitsChan = py::class_<FitsChan, std::shared_ptr<FitsChan>,
Channel>;
82 wrappers.wrapType(PyFitsChan(wrappers.module,
"FitsChan"), [](
auto &mod,
auto &cls) {
83 cls.def(py::init<Stream &, std::string const &>(),
"stream"_a,
"options"_a =
"");
85 cls.def_property(
"carLin", &FitsChan::getCarLin, &FitsChan::setCarLin);
86 cls.def_property(
"cdMatrix", &FitsChan::getCDMatrix, &FitsChan::setCDMatrix);
87 cls.def_property(
"clean", &FitsChan::getClean, &FitsChan::setClean);
88 cls.def_property(
"defB1950", &FitsChan::getDefB1950, &FitsChan::setDefB1950);
89 cls.def_property(
"encoding", &FitsChan::getEncoding, &FitsChan::setEncoding);
90 cls.def_property(
"fitsAxisOrder", &FitsChan::getFitsAxisOrder, &FitsChan::setFitsAxisOrder);
91 cls.def_property(
"fitsDigits", &FitsChan::getFitsDigits, &FitsChan::setFitsDigits);
92 cls.def_property_readonly(
"nCard", &FitsChan::getNCard);
93 cls.def_property_readonly(
"nKey", &FitsChan::getNKey);
94 cls.def_property(
"iwc", &FitsChan::getIwc, &FitsChan::setIwc);
95 cls.def_property(
"sipOK", &FitsChan::getSipOK, &FitsChan::setSipOK);
96 cls.def_property(
"sipReplace", &FitsChan::getSipReplace, &FitsChan::setSipReplace);
97 cls.def_property(
"tabOK", &FitsChan::getTabOK, &FitsChan::setTabOK);
98 cls.def_property(
"polyTan", &FitsChan::getPolyTan, &FitsChan::setPolyTan);
99 cls.def_property(
"warnings", &FitsChan::getWarnings, &FitsChan::setWarnings);
100 cls.def_property(
"fitsTol", &FitsChan::getFitsTol, &FitsChan::setFitsTol);
102 cls.def(
"delFits", &FitsChan::delFits);
103 cls.def(
"emptyFits", &FitsChan::emptyFits);
104 cls.def(
"findFits", &FitsChan::findFits,
"name"_a,
"inc"_a);
105 cls.def(
"getFitsCF", &FitsChan::getFitsCF,
"name"_a =
"",
"defval"_a = std::complex<double>(0, 0));
106 cls.def(
"getFitsCN", &FitsChan::getFitsCN,
"name"_a =
"",
"defval"_a =
"");
107 cls.def(
"getFitsF", &FitsChan::getFitsF,
"name"_a =
"",
"defval"_a = 0);
108 cls.def(
"getFitsI", &FitsChan::getFitsI,
"name"_a =
"",
"defval"_a = 0);
109 cls.def(
"getFitsL", &FitsChan::getFitsL,
"name"_a =
"",
"defval"_a = false);
110 cls.def(
"getFitsS", &FitsChan::getFitsS,
"name"_a =
"",
"defval"_a =
"");
111 cls.def(
"getAllCardNames", &FitsChan::getAllCardNames);
112 cls.def(
"getAllWarnings", &FitsChan::getAllWarnings);
113 cls.def(
"getCard", &FitsChan::getCard);
114 cls.def(
"getCardComm", &FitsChan::getCardComm);
115 cls.def(
"getCardName", &FitsChan::getCardName);
116 cls.def(
"getCardType", &FitsChan::getCardType);
117 cls.def(
"getTables", &FitsChan::getTables);
118 cls.def(
"purgeWcs", &FitsChan::purgeWcs);
119 cls.def(
"putCards", &FitsChan::putCards,
"cards"_a);
120 cls.def(
"putFits", &FitsChan::putFits,
"card"_a,
"overwrite"_a);
121 cls.def(
"readFits", &FitsChan::readFits);
122 cls.def(
"retainFits", &FitsChan::retainFits);
123 cls.def(
"setFitsCF", &FitsChan::setFitsCF,
"name"_a,
"value"_a,
"comment"_a =
"",
"overwrite"_a = false);
124 cls.def(
"setFitsCM", &FitsChan::setFitsCM,
"comment"_a =
"",
"overwrite"_a = false);
125 cls.def(
"setFitsCN", &FitsChan::setFitsCN,
"name"_a,
"value"_a,
"comment"_a =
"",
"overwrite"_a = false);
126 cls.def(
"setFitsF", &FitsChan::setFitsF,
"name"_a,
"value"_a,
"comment"_a =
"",
"overwrite"_a = false);
127 cls.def(
"setFitsI", &FitsChan::setFitsI,
"name"_a,
"value"_a,
"comment"_a =
"",
"overwrite"_a = false);
128 cls.def(
"setFitsL", &FitsChan::setFitsL,
"name"_a,
"value"_a,
"comment"_a =
"",
"overwrite"_a = false);
129 cls.def(
"setFitsS", &FitsChan::setFitsS,
"name"_a,
"value"_a,
"comment"_a =
"",
"overwrite"_a = false);
130 cls.def(
"setFitsU", &FitsChan::setFitsU,
"name"_a,
"comment"_a =
"",
"overwrite"_a = false);
131 cls.def(
"showFits", &FitsChan::showFits);
132 cls.def(
"testFits", &FitsChan::testFits,
"name"_a =
"");
133 cls.def(
"writeFits", &FitsChan::writeFits);
134 cls.def(
"clearCard", &FitsChan::clearCard);
135 cls.def(
"setCard", &FitsChan::setCard,
"i"_a);