source: branches/alma/src/python_STMath.cpp @ 1633

Last change on this file since 1633 was 1633, checked in by Takeshi Nakazato, 15 years ago

New Development: No

JIRA Issue: Yes CAS-1422

Ready to Release: Yes

Interface Changes: Yes

What Interface Changed: Defined calibrate() and almacal() in python/asapmath.py

Defined cwcal() in STMath class

Test Programs: List test programs

Put in Release Notes: Yes

Module(s): task_sdaverage

Description: Describe your changes here...

asapmath.py is changed to be able to calibrate data for APEX.
This modification is tentatively considered a calibration of ALMA
single-dish data. However, it must be updated in the future since
I don't know how raw ALMA data are provided and I have to change
code along with read ALMA data.

The calibrate() function takes calibration mode from its argument and
looks antenna name of the input scantable, and calls appropriate calibration
function depending on the calibration mode and antenna name.
If antenna name include 'APEX' or 'ALMA', newly defined calibration function
apexcal() is called. For other antenna name, one of the existing calibration
functions (calps, calnod, calfs, auto_quotient) is called.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.6 KB
Line 
1//#---------------------------------------------------------------------------
2//# python_STMathWrapper.cc: python exposure of c++ STMath class
3//#---------------------------------------------------------------------------
4//# Copyright (C) 2004
5//# ATNF
6//#
7//# This program is free software; you can redistribute it and/or modify it
8//# under the terms of the GNU General Public License as published by the Free
9//# Software Foundation; either version 2 of the License, or (at your option)
10//# any later version.
11//#
12//# This program is distributed in the hope that it will be useful, but
13//# WITHOUT ANY WARRANTY; without even the implied warranty of
14//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
15//# Public License for more details.
16//#
17//# You should have received a copy of the GNU General Public License along
18//# with this program; if not, write to the Free Software Foundation, Inc.,
19//# 675 Massachusetts Ave, Cambridge, MA 02139, USA.
20//#
21//# Correspondence concerning this software should be addressed as follows:
22//#        Internet email: Malte.Marquarding@csiro.au
23//#        Postal address: Malte Marquarding,
24//#                        Australia Telescope National Facility,
25//#                        P.O. Box 76,
26//#                        Epping, NSW, 2121,
27//#                        AUSTRALIA
28//#
29//# $Id: python_STMath.cpp 1633 2009-09-16 07:11:16Z TakeshiNakazato $
30//#---------------------------------------------------------------------------
31#include <vector>
32#include <boost/python.hpp>
33
34#include "STMathWrapper.h"
35
36using namespace boost::python;
37
38namespace asap {
39  namespace python {
40    void python_STMath() {
41      class_<STMathWrapper>("stmath")
42        .def( init < > () )
43        .def( init < bool > () )
44        .def("_insitu", &STMathWrapper::insitu)
45        .def("_setinsitu", &STMathWrapper::setInsitu)
46        .def("_average", &STMathWrapper::average)
47        .def("_averagechannel", &STMathWrapper::averageChannel)
48        .def("_averagepol", &STMathWrapper::averagePolarisations)
49        .def("_averagebeams", &STMathWrapper::averageBeams)
50        .def("_unaryop", &STMathWrapper::unaryOperate)
51        .def("_binaryop", &STMathWrapper::binaryOperate)
52        .def("_auto_quotient", &STMathWrapper::autoQuotient)
53        .def("_quotient", &STMathWrapper::quotient)
54        .def("_dototalpower", &STMathWrapper::dototalpower)
55        .def("_dosigref", &STMathWrapper::dosigref)
56        .def("_donod", &STMathWrapper::donod)
57        .def("_dofs", &STMathWrapper::dofs)
58        .def("_stats", &STMathWrapper::statistic)
59        .def("_minmaxchan", &STMathWrapper::minMaxChan)
60        .def("_freqswitch", &STMathWrapper::freqSwitch)
61        .def("_bin", &STMathWrapper::bin)
62        .def("_resample", &STMathWrapper::resample)
63        .def("_smooth", &STMathWrapper::smooth)
64        .def("_gainel", &STMathWrapper::gainElevation)
65        .def("_convertflux", &STMathWrapper::convertFlux)
66        .def("_convertpol", &STMathWrapper::convertPolarisation)
67        .def("_opacity", &STMathWrapper::opacity)
68        .def("_merge", &STMathWrapper::merge)
69        .def("_rotate_xyphase", &STMathWrapper::rotateXYPhase)
70        .def("_rotate_linpolphase", &STMathWrapper::rotateLinPolPhase)
71        .def("_invert_phase", &STMathWrapper::invertPhase)
72        .def("_swap_linears", &STMathWrapper::swapPolarisations)
73        .def("_freq_align", &STMathWrapper::frequencyAlign)
74        .def("_mx_extract", &STMathWrapper::mxExtract)
75        .def("_lag_flag", &STMathWrapper::lagFlag)
76        // testing average spectra with different channel/resolution
77        .def("_new_average", &STMathWrapper::new_average)
78        // cwcal
79        .def("cwcal", &STMathWrapper::cwcal)
80          ;
81    };
82
83  } //namespace python
84} // namespace asap
85
Note: See TracBrowser for help on using the repository browser.