source: trunk/src/python_CalibrationManager.cpp@ 3149

Last change on this file since 3149 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
RevLine 
[2742]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
[3046]10#include "CalibrationManagerWrapper.h"
[2742]11#include "ScantableWrapper.h"
12
13using namespace boost::python;
14
15namespace asap {
16 namespace python {
17
18void python_CalibrationManager() {
[3046]19 class_<CalibrationManagerWrapper>("_calmanager")
[2742]20 .def( init <> () )
[3046]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,
[2742]28 (boost::python::arg("interp"),
29 boost::python::arg("order")=-1))
[3046]30 .def("set_freq_interpolation", &CalibrationManagerWrapper::setFrequencyInterpolation,
[2742]31 (boost::python::arg("interp"),
32 boost::python::arg("order")=-1))
[3046]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,
[2922]37 (boost::python::arg("spwlist"),
38 boost::python::arg("average")=false))
[3046]39 .def("set_tsys_transfer", &CalibrationManagerWrapper::setTsysTransfer)
40 .def("calibrate", &CalibrationManagerWrapper::calibrate)
41 .def("apply", &CalibrationManagerWrapper::apply,
[2750]42 (boost::python::arg("insitu")=false,
43 boost::python::arg("filltsys")=true))
[3046]44 .def("save_caltable", &CalibrationManagerWrapper::saveCaltable)
45 .def("split", &CalibrationManagerWrapper::split)
[2742]46 ;
47
48};
49
50 } // python
51} // asap
Note: See TracBrowser for help on using the repository browser.