Ignore:
Timestamp:
07/30/10 14:46:03 (14 years ago)
Author:
Kana Sugimoto
Message:

New Development: Yes

JIRA Issue: No (merge)

Ready for Test: Yes

Interface Changes: No

What Interface Changed:

Test Programs:

Put in Release Notes: No

Module(s): single dish package

Description:

Merged some unimplemented developments from the trunk.
[Details]

  1. Restored PKSmsg.cc, PKSmsg.h to alma branch from trunk
  2. Updated pks_matchs.cc and src/SConscript to ones in trunk
  3. uncommented "@print_log_dec"
  4. implemented bug fixes to add(), sub(), mul(), and div() in scantable.py
  5. implemented get_region() and get_point() in asaplotbase.py
  6. activated interactive keyword for text(), arrow(), annotate(), axvline(), axhline(), axvspan(), and axhspan() in asapplotter.py


File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/alma/python/scantable.py

    r1781 r1782  
    3636    """
    3737
    38     #@print_log_dec
     38    @print_log_dec
    3939    def __init__(self, filename, average=None, unit=None, getpt=None, antenna=None, parallactify=None):
    4040        """
     
    128128        print_log()
    129129
    130     #@print_log_dec
     130    @print_log_dec
    131131    def save(self, name=None, format=None, overwrite=False):
    132132        """
     
    752752        return self._get_column(self._getdirectionvec, row)
    753753
    754     #@print_log_dec
     754    @print_log_dec
    755755    def set_unit(self, unit='channel'):
    756756        """
     
    768768        self._add_history("set_unit", varlist)
    769769
    770     #@print_log_dec
     770    @print_log_dec
    771771    def set_instrument(self, instr):
    772772        """
     
    780780        print_log()
    781781
    782     #@print_log_dec
     782    @print_log_dec
    783783    def set_feedtype(self, feedtype):
    784784        """
     
    791791        print_log()
    792792
    793     #@print_log_dec
     793    @print_log_dec
    794794    def set_doppler(self, doppler='RADIO'):
    795795        """
     
    805805        print_log()
    806806
    807     #@print_log_dec
     807    @print_log_dec
    808808    def set_freqframe(self, frame=None):
    809809        """
     
    950950        self._add_history("clip", varlist)
    951951
    952     #@print_log_dec
     952    @print_log_dec
    953953    def lag_flag(self, start, end, unit="MHz", insitu=None):
    954954    #def lag_flag(self, frequency, width=0.0, unit="GHz", insitu=None):
     
    994994            return s
    995995
    996     #@print_log_dec
     996    @print_log_dec
    997997    def create_mask(self, *args, **kwargs):
    998998        """
     
    13231323    # Maths business
    13241324    #
    1325     #@print_log_dec
     1325    @print_log_dec
    13261326    def average_time(self, mask=None, scanav=False, weight='tint', align=False):
    13271327        """
     
    13751375        return s
    13761376
    1377     #@print_log_dec
     1377    @print_log_dec
    13781378    def convert_flux(self, jyperk=None, eta=None, d=None, insitu=None):
    13791379        """
     
    14041404        else: return s
    14051405
    1406     #@print_log_dec
     1406    @print_log_dec
    14071407    def gain_el(self, poly=None, filename="", method="linear", insitu=None):
    14081408        """
     
    14591459            return s
    14601460
    1461     #@print_log_dec
     1461    @print_log_dec
    14621462    def freq_align(self, reftime=None, method='cubic', insitu=None):
    14631463        """
     
    14851485        else: return s
    14861486
    1487     #@print_log_dec
     1487    @print_log_dec
    14881488    def opacity(self, tau=None, insitu=None):
    14891489        """
     
    15141514        else: return s
    15151515
    1516     #@print_log_dec
     1516    @print_log_dec
    15171517    def bin(self, width=5, insitu=None):
    15181518        """
     
    15351535            return s
    15361536
    1537     #@print_log_dec
     1537    @print_log_dec
    15381538    def resample(self, width=5, method='cubic', insitu=None):
    15391539        """
     
    15581558        else: return s
    15591559
    1560     #@print_log_dec
     1560    @print_log_dec
    15611561    def average_pol(self, mask=None, weight='none'):
    15621562        """
     
    15761576        return s
    15771577
    1578     #@print_log_dec
     1578    @print_log_dec
    15791579    def average_beam(self, mask=None, weight='none'):
    15801580        """
     
    16061606        self._add_history("parallactify", varlist)
    16071607
    1608     #@print_log_dec
     1608    @print_log_dec
    16091609    def convert_pol(self, poltype=None):
    16101610        """
     
    16311631        return s
    16321632
    1633     #@print_log_dec
     1633    @print_log_dec
    16341634    def smooth(self, kernel="hanning", width=5.0, order=2, plot=False, insitu=None):
    16351635        """
     
    17051705        else: return s
    17061706
    1707     #@print_log_dec
     1707    @print_log_dec
    17081708    def poly_baseline(self, mask=None, order=0, plot=False, uselin=False,
    17091709                      insitu=None):
     
    19381938            return workscan
    19391939
    1940     #@print_log_dec
     1940    @print_log_dec
    19411941    def rotate_linpolphase(self, angle):
    19421942        """
     
    19551955        return
    19561956
    1957     #@print_log_dec
     1957    @print_log_dec
    19581958    def rotate_xyphase(self, angle):
    19591959        """
     
    19721972        return
    19731973
    1974     #@print_log_dec
     1974    @print_log_dec
    19751975    def swap_linears(self):
    19761976        """
     
    19841984        return
    19851985
    1986     #@print_log_dec
     1986    @print_log_dec
    19871987    def invert_phase(self):
    19881988        """
     
    19951995        return
    19961996
    1997     #@print_log_dec
     1997    @print_log_dec
    19981998    def add(self, offset, insitu=None):
    19991999        """
     
    20162016            return s
    20172017
    2018     #@print_log_dec
     2018    @print_log_dec
    20192019    def scale(self, factor, tsys=True, insitu=None):
    20202020        """
     
    20842084        self._add_history("set_sourcetype", varlist)
    20852085
    2086     #@print_log_dec
     2086    @print_log_dec
    20872087    def auto_quotient(self, preserve=True, mode='paired', verify=False):
    20882088        """
     
    21282128        return s
    21292129
    2130     #@print_log_dec
     2130    @print_log_dec
    21312131    def mx_quotient(self, mask = None, weight='median', preserve=True):
    21322132        """
     
    21512151        return q
    21522152
    2153     #@print_log_dec
     2153    @print_log_dec
    21542154    def freq_switch(self, insitu=None):
    21552155        """
     
    21712171        else: return s
    21722172
    2173     #@print_log_dec
     2173    @print_log_dec
    21742174    def recalc_azel(self):
    21752175        """
     
    21852185        return
    21862186
    2187     #@print_log_dec
     2187    @print_log_dec
    21882188    def __add__(self, other):
     2189        varlist = vars()
     2190        s = None
     2191        if isinstance(other, scantable):
     2192            s = scantable(self._math._binaryop(self, other, "ADD"))
     2193        elif isinstance(other, float):
     2194            s = scantable(self._math._unaryop(self, other, "ADD", False))
     2195        else:
     2196            raise TypeError("Other input is not a scantable or float value")
     2197        s._add_history("operator +", varlist)
     2198        return s
     2199
     2200    @print_log_dec
     2201    def __sub__(self, other):
    21892202        """
    21902203        implicit on all axes and on Tsys
    21912204        """
    2192         return self._operation( other, "ADD" )
    2193 
    2194     #@print_log_dec
    2195     def __sub__(self, other):
     2205        varlist = vars()
     2206        s = None
     2207        if isinstance(other, scantable):
     2208            s = scantable(self._math._binaryop(self, other, "SUB"))
     2209        elif isinstance(other, float):
     2210            s = scantable(self._math._unaryop(self, other, "SUB", False))
     2211        else:
     2212            raise TypeError("Other input is not a scantable or float value")
     2213        s._add_history("operator -", varlist)
     2214        return s
     2215
     2216    @print_log_dec
     2217    def __mul__(self, other):
    21962218        """
    21972219        implicit on all axes and on Tsys
    21982220        """
    2199         return self._operation( other, 'SUB' )
    2200 
    2201     #@print_log_dec
    2202     def __mul__(self, other):
     2221        varlist = vars()
     2222        s = None
     2223        if isinstance(other, scantable):
     2224            s = scantable(self._math._binaryop(self, other, "MUL"))
     2225        elif isinstance(other, float):
     2226            s = scantable(self._math._unaryop(self, other, "MUL", False))
     2227        else:
     2228            raise TypeError("Other input is not a scantable or float value")
     2229        s._add_history("operator *", varlist)
     2230        return s
     2231
     2232
     2233    @print_log_dec
     2234    def __div__(self, other):
    22032235        """
    22042236        implicit on all axes and on Tsys
    22052237        """
    2206         return self._operation( other, 'MUL' )
    2207 
    2208     #@print_log_dec
    2209     def __div__(self, other):
    2210         """
    2211         implicit on all axes and on Tsys
    2212         """
    2213         return self._operation( other, 'DIV' )
     2238        varlist = vars()
     2239        s = None
     2240        if isinstance(other, scantable):
     2241            s = scantable(self._math._binaryop(self, other, "DIV"))
     2242        elif isinstance(other, float):
     2243            if other == 0.0:
     2244                raise ZeroDivisionError("Dividing by zero is not recommended")
     2245            s = scantable(self._math._unaryop(self, other, "DIV", False))
     2246        else:
     2247            raise TypeError("Other input is not a scantable or float value")
     2248        s._add_history("operator /", varlist)
     2249        return s
    22142250
    22152251    def get_fit(self, row=0):
     
    23882424        for i in range(len(self)):
    23892425            yield self[i]
    2390 
    2391     def _operation(self, other, opmode):
    2392         varlist = vars()
    2393         s = None
    2394         import numpy
    2395         if isinstance(other, scantable):
    2396             s = scantable(self._math._binaryop(self.copy(), other, opmode))
    2397         elif isinstance(other, float) or isinstance(other, int):
    2398             if opmode == 'DIV' and float(other) == 0.0:
    2399                 raise ZeroDivisionError("Dividing by zero is not recommended")
    2400             s = scantable(self._math._unaryop(self.copy(), other, opmode, False))
    2401         elif isinstance(other, list) or isinstance(other, numpy.ndarray):
    2402             if isinstance(other[0], list) or isinstance(other[0], numpy.ndarray):
    2403                 from asapmath import _array2dOp
    2404                 s = _array2dOp( self.copy(), other, opmode, False )
    2405             else:
    2406                 s = scantable(self._math._arrayop(self.copy(), other, opmode, False))
    2407         else:
    2408             raise TypeError("Other input is not a scantable or float value or float list")
    2409         opdic = {}
    2410         opdic['ADD'] = '+'
    2411         opdic['SUB'] = '-'
    2412         opdic['MUL'] = '*'
    2413         opdic['DIV'] = '/'
    2414         s._add_history("operator %s" % opdic[opmode], varlist)
    2415         print_log()
    2416         return s
Note: See TracChangeset for help on using the changeset viewer.