source: trunk/src/python_CalibrationManager.cpp@ 3112

Last change on this file since 3112 was 3046, checked in by Takeshi Nakazato, 9 years ago

New Development: No

JIRA Issue: Yes CAS-7764

Ready for Test: Yes

Interface Changes: Yes/No

What Interface Changed: Please list interface changes

Test Programs: List test programs

Put in Release Notes: Yes/No

Module(s): Module Names change impacts.

Description:


Release GIL in some time-consuming functions. Currently the following functions releases GIL:


  • MSFiller::fill
  • MSWriter::write
  • Scantable::applyBaselineTable
  • Scantable::subBaseline
  • CalibrationManager::calibrate
  • CalibrationManager::apply
File size: 2.1 KB
Line 
1//#---------------------------------------------------------------------------
2//# python_CalibrationManager.cc: python exposure of c++ calibration classes
3//#---------------------------------------------------------------------------
4#include <boost/python.hpp>
5#include <boost/python/args.hpp>
6
7#include <string>
8#include <vector>
9
10#include "CalibrationManagerWrapper.h"
11#include "ScantableWrapper.h"
12
13using namespace boost::python;
14
15namespace asap {
16 namespace python {
17
18void python_CalibrationManager() {
19 class_<CalibrationManagerWrapper>("_calmanager")
20 .def( init <> () )
21 .def("set_data", &CalibrationManagerWrapper::setScantable)
22 .def("set_data", &CalibrationManagerWrapper::setScantableByName)
23 .def("add_applytable", &CalibrationManagerWrapper::addApplyTable)
24 .def("add_skytable", &CalibrationManagerWrapper::addSkyTable)
25 .def("add_tsystable", &CalibrationManagerWrapper::addTsysTable)
26 .def("set_calmode", &CalibrationManagerWrapper::setMode)
27 .def("set_time_interpolation", &CalibrationManagerWrapper::setTimeInterpolation,
28 (boost::python::arg("interp"),
29 boost::python::arg("order")=-1))
30 .def("set_freq_interpolation", &CalibrationManagerWrapper::setFrequencyInterpolation,
31 (boost::python::arg("interp"),
32 boost::python::arg("order")=-1))
33 .def("set_calibration_options", &CalibrationManagerWrapper::setCalibrationOptions)
34 .def("reset", &CalibrationManagerWrapper::reset)
35 .def("set_tsys_spw", &CalibrationManagerWrapper::setTsysSpw)
36 .def("set_tsys_spw_withrange", &CalibrationManagerWrapper::setTsysSpwWithRange,
37 (boost::python::arg("spwlist"),
38 boost::python::arg("average")=false))
39 .def("set_tsys_transfer", &CalibrationManagerWrapper::setTsysTransfer)
40 .def("calibrate", &CalibrationManagerWrapper::calibrate)
41 .def("apply", &CalibrationManagerWrapper::apply,
42 (boost::python::arg("insitu")=false,
43 boost::python::arg("filltsys")=true))
44 .def("save_caltable", &CalibrationManagerWrapper::saveCaltable)
45 .def("split", &CalibrationManagerWrapper::split)
46 ;
47
48};
49
50 } // python
51} // asap
Note: See TracBrowser for help on using the repository browser.