lsst.afw
20.0.0-16-gfab17e72e+f119078cbc
include
lsst
afw
table
io
python.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* LSST Data Management System
4
* See COPYRIGHT file at the top of the source tree.
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_AFW_TABLE_IO_PYTHON_H
25
#define LSST_AFW_TABLE_IO_PYTHON_H
26
27
#include "pybind11/pybind11.h"
28
29
#include <memory>
30
#include <string>
31
32
#include "
lsst/afw/fits.h
"
33
#include "
lsst/afw/table/io/Persistable.h
"
34
35
namespace
py
=
pybind11
;
36
using namespace
py::literals;
37
38
namespace
lsst
{
39
namespace
afw {
40
namespace
table {
41
namespace
io {
42
namespace
python {
43
54
template
<
typename
Class,
typename
... Args>
55
void
addPersistableMethods
(pybind11::class_<Class, Args...> &
cls
) {
56
cls
.def_static(
"readFits"
,
57
(
std::shared_ptr<Class>
(*)(
std::string
const
&,
int
)) &
PersistableFacade<Class>::readFits
,
58
"fileName"
_a,
"hdu"
_a =
fits::DEFAULT_HDU
);
59
cls
.def_static(
60
"readFits"
,
61
(
std::shared_ptr<Class>
(*)(
fits::MemFileManager
&,
int
)) &
PersistableFacade<Class>::readFits
,
62
"manager"
_a,
"hdu"
_a =
fits::DEFAULT_HDU
);
63
cls
.def(
"writeFits"
, (
void
(Class::*)(
std::string
const
&,
std::string
const
&)
const
) & Class::writeFits,
64
"fileName"
_a,
"mode"
_a =
"w"
);
65
cls
.def(
"writeFits"
,
66
(
void
(Class::*)(
fits::MemFileManager
&,
std::string
const
&)
const
) & Class::writeFits,
67
"manager"
_a,
"mode"
_a =
"w"
);
68
cls
.def(
"isPersistable"
, &Class::isPersistable);
69
}
70
}
// namespace python
71
}
// namespace io
72
}
// namespace table
73
}
// namespace afw
74
}
// namespace lsst
75
76
#endif
std::string
STL class.
std::shared_ptr
STL class.
lsst::afw::fits::DEFAULT_HDU
const int DEFAULT_HDU
Specify that the default HDU should be read.
Definition:
fitsDefaults.h:18
lsst::afw::table::io::python::addPersistableMethods
void addPersistableMethods(pybind11::class_< Class, Args... > &cls)
Add table::io::Persistable and PersistableFacade methods to the pybind11 wrapper for a class.
Definition:
python.h:55
fits.h
lsst::afw::fits::MemFileManager
Lifetime-management for memory that goes into FITS memory files.
Definition:
fits.h:121
Persistable.h
lsst::afw::geom.transform.transformContinued.cls
cls
Definition:
transformContinued.py:33
lsst
A base class for image defects.
lsst::afw::table::io::PersistableFacade
A CRTP facade class for subclasses of Persistable.
Definition:
Persistable.h:176
pybind11
Generated on Thu Nov 5 2020 02:03:38 for lsst.afw by
1.8.18