22 #include <boost/python/class.hpp>
23 #include <boost/python/enum.hpp>
24 #include <boost/python/module.hpp>
25 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
26 #include <boost/python/suite/indexing/map_indexing_suite.hpp>
36 namespace bp = boost::python;
42 bp::class_<PyOutputWrapper, boost::noncopyable>(
"OutputWrapper",
43 "A file-like object used to wrap stdout and stderr", bp::no_init)
61 bp::class_<ObjectInfo>(
"ObjectInfo",
62 "A source detected by SourceXtractor++ after the segmentation and deblending", bp::init<SourceInterface&>())
70 bp::class_<PyMeasurementImage>(
"MeasurementImage",
71 "C++ part of the MeasurementImage", bp::init<std::string, std::string, std::string>())
90 bp::class_<PyId>(
"Id", bp::init<>())
93 bp::class_<PyAperture, bp::bases<PyId>>(
"Aperture",
94 "Set of aperture photometries", bp::init<bp::list>())
99 bp::class_<CoordinateSystem, boost::noncopyable>(
"CoordinateSystem",
100 "Implements transformation of coordinates between image and world coordinates", bp::no_init)
103 bp::register_ptr_to_python<std::shared_ptr<CoordinateSystem>>();
105 bp::class_<WorldCoordinate>(
"WorldCoordinate",
"World coordinates")
106 .def(bp::init<double, double>())
110 bp::class_<ImageCoordinate>(
"ImageCoordinate",
"Image coordinates, in pixels")
111 .def(bp::init<double, double>())
115 bp::enum_<Flags>(
"Flags",
"Source flags")
126 bp::class_<std::vector<double> >(
"_DoubleVector")
129 bp::class_<std::vector<float> >(
"_FloatVector")
132 bp::class_<std::vector<int> >(
"_IntVector")
135 bp::class_<std::vector<unsigned int> >(
"_UIntVector")
138 bp::class_<std::map<std::string, std::string>>(
"_StringStringMap")
141 bp::class_<PyFitsFile>(
"FitsFile",
"A FITS file opened by SourceXtractor++", bp::init<const std::string&>())