LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Functions
lsst::afw::table::io::python Namespace Reference

Functions

template<typename Class , typename... Args>
void addPersistableMethods (pybind11::class_< Class, Args... > &cls)
 Add table::io::Persistable and PersistableFacade methods to the pybind11 wrapper for a class. More...
 

Function Documentation

◆ addPersistableMethods()

template<typename Class , typename... Args>
void lsst::afw::table::io::python::addPersistableMethods ( pybind11::class_< Class, Args... > &  cls)

Add table::io::Persistable and PersistableFacade methods to the pybind11 wrapper for a class.

This allows your class to be used without importing lsst.afw.table in Python.

Use as follows:

  • When declaring the pybind11 class that wraps your Class in afw, do not list table::io::PersistableFacade<Class> and table::io::Persistable as base classes unless you have to, and in that case be prepared for possible trouble.
  • Call this function to wrap the methods that make your object persistable.

Definition at line 56 of file python.h.

56  {
57  cls.def_static("readFits",
58  (std::shared_ptr<Class>(*)(std::string const &, int)) & PersistableFacade<Class>::readFits,
59  "fileName"_a, "hdu"_a = fits::DEFAULT_HDU);
60  cls.def_static(
61  "readFits",
62  (std::shared_ptr<Class>(*)(fits::MemFileManager &, int)) & PersistableFacade<Class>::readFits,
63  "manager"_a, "hdu"_a = fits::DEFAULT_HDU);
64  cls.def("writeFits", (void (Class::*)(std::string const &, std::string const &) const) & Class::writeFits,
65  "fileName"_a, "mode"_a = "w");
66  cls.def("writeFits",
67  (void (Class::*)(fits::MemFileManager &, std::string const &) const) & Class::writeFits,
68  "manager"_a, "mode"_a = "w");
69  cls.def("isPersistable", &Class::isPersistable);
70 }
const int DEFAULT_HDU
Specify that the default HDU should be read.
Definition: fitsDefaults.h:18
def writeFits(filename, stamps, metadata, type_name, write_mask, write_variance, write_archive=False)
Definition: stamps.py:42