source: trunk/src/python_CalibrationManager.cpp @ 3046

Last change on this file since 3046 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.