Ignore:
Timestamp:
07/02/09 12:17:20 (15 years ago)
Author:
Malte Marquarding
Message:

Introduced print_log_dec(orator)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/python/scantable.py

    r1588 r1589  
    11from asap._asap import Scantable
    22from asap import rcParams
    3 from asap import print_log
     3from asap import print_log, print_log_dec
    44from asap import asaplog
    55from asap import selector
     
    1111        The ASAP container for scans
    1212    """
    13 
     13    @print_log_dec
    1414    def __init__(self, filename, average=None, unit=None, parallactify=None):
    1515        """
     
    5353                    if rcParams['verbose']:
    5454                        asaplog.push(s)
    55                         print asaplog.pop().strip()
     55                        #print asaplog.pop().strip()
    5656                        return
    5757                    raise IOError(s)
     
    8080        self.parallactify(parallactify)
    8181        self._add_history("scantable", varlist)
    82         print_log()
    83 
     82
     83    @print_log_dec
    8484    def save(self, name=None, format=None, overwrite=False):
    8585        """
     
    129129            writer = stw(format2)
    130130            writer.write(self, name)
    131         print_log()
    132131        return
    133132
     
    587586        self._add_history("set_unit", varlist)
    588587
     588    @print_log_dec
    589589    def set_instrument(self, instr):
    590590        """
     
    596596        self._setInstrument(instr)
    597597        self._add_history("set_instument", vars())
    598         print_log()
    599 
     598
     599    @print_log_dec
    600600    def set_feedtype(self, feedtype):
    601601        """
     
    606606        self._setfeedtype(feedtype)
    607607        self._add_history("set_feedtype", vars())
    608         print_log()
    609 
     608
     609    @print_log_dec
    610610    def set_doppler(self, doppler='RADIO'):
    611611        """
     
    619619        self._setcoordinfo(inf)
    620620        self._add_history("set_doppler", vars())
    621         print_log()
    622 
     621
     622    @print_log_dec
    623623    def set_freqframe(self, frame=None):
    624624        """
     
    647647            else:
    648648                raise TypeError(msg)
    649         print_log()
    650649
    651650    def set_dirframe(self, frame=""):
     
    691690        abc = self._getabcissa(rowno)
    692691        lbl = self._getabcissalabel(rowno)
    693         print_log()
    694692        return abc, lbl
    695693
     
    713711        self._add_history("flag", varlist)
    714712
     713    @print_log_dec
    715714    def lag_flag(self, start, end, unit="MHz", insitu=None):
    716715        """
     
    746745            else: raise
    747746        s._add_history("lag_flag", varlist)
    748         print_log()
    749747        if insitu:
    750748            self._assign(s)
     
    752750            return s
    753751
    754 
     752    @print_log_dec
    755753    def create_mask(self, *args, **kwargs):
    756754        """
     
    814812            if kwargs.get('invert'):
    815813                msk = mask_not(msk)
    816         print_log()
    817814        return msk
    818815
     
    915912
    916913    def shift_refpix(self, delta):
    917         """
    918         Shift the reference pixel of the Spectra Coordinate by an
    919         integer amount.
    920         Parameters:
    921             delta:   the amount to shift by
     914        """
     915        Shift the reference pixel of the Spectra Coordinate by an
     916        integer amount.
     917        Parameters:
     918            delta:   the amount to shift by
    922919        Note:
    923             Be careful using this with broadband data.
    924         """
    925         Scantable.shift(self, delta)
     920            Be careful using this with broadband data.
     921        """
     922        Scantable.shift(self, delta)
    926923
    927924    def history(self, filename=None):
     
    974971    # Maths business
    975972    #
    976 
     973    @print_log_dec
    977974    def average_time(self, mask=None, scanav=False, weight='tint', align=False):
    978975        """
     
    10211018            else: raise
    10221019        s._add_history("average_time", varlist)
    1023         print_log()
    10241020        return s
    10251021
     1022    @print_log_dec
    10261023    def convert_flux(self, jyperk=None, eta=None, d=None, insitu=None):
    10271024        """
     
    10481045        s = scantable(self._math._convertflux(self, d, eta, jyperk))
    10491046        s._add_history("convert_flux", varlist)
    1050         print_log()
    10511047        if insitu: self._assign(s)
    10521048        else: return s
    10531049
     1050    @print_log_dec
    10541051    def gain_el(self, poly=None, filename="", method="linear", insitu=None):
    10551052        """
     
    11011098        s = scantable(self._math._gainel(self, poly, filename, method))
    11021099        s._add_history("gain_el", varlist)
    1103         print_log()
    11041100        if insitu: self._assign(s)
    11051101        else: return s
    11061102
     1103    @print_log_dec
    11071104    def freq_align(self, reftime=None, method='cubic', insitu=None):
    11081105        """
     
    11261123        s = scantable(self._math._freq_align(self, reftime, method))
    11271124        s._add_history("freq_align", varlist)
    1128         print_log()
    11291125        if insitu: self._assign(s)
    11301126        else: return s
    11311127
     1128    @print_log_dec
    11321129    def opacity(self, tau, insitu=None):
    11331130        """
     
    11471144        s = scantable(self._math._opacity(self, tau))
    11481145        s._add_history("opacity", varlist)
    1149         print_log()
    11501146        if insitu: self._assign(s)
    11511147        else: return s
    11521148
     1149    @print_log_dec
    11531150    def bin(self, width=5, insitu=None):
    11541151        """
     
    11651162        s = scantable(self._math._bin(self, width))
    11661163        s._add_history("bin", varlist)
    1167         print_log()
    1168         if insitu: self._assign(s)
    1169         else: return s
    1170 
    1171 
     1164        if insitu:
     1165            self._assign(s)
     1166        else:
     1167            return s
     1168
     1169    @print_log_dec
    11721170    def resample(self, width=5, method='cubic', insitu=None):
    11731171        """
     
    11881186        s = scantable(self._math._resample(self, method, width))
    11891187        s._add_history("resample", varlist)
    1190         print_log()
    11911188        if insitu: self._assign(s)
    11921189        else: return s
    11931190
    1194 
     1191    @print_log_dec
    11951192    def average_pol(self, mask=None, weight='none'):
    11961193        """
     
    12081205        s = scantable(self._math._averagepol(self, mask, weight.upper()))
    12091206        s._add_history("average_pol", varlist)
    1210         print_log()
    12111207        return s
    12121208
     1209    @print_log_dec
    12131210    def average_beam(self, mask=None, weight='none'):
    12141211        """
     
    12261223        s = scantable(self._math._averagebeams(self, mask, weight.upper()))
    12271224        s._add_history("average_beam", varlist)
    1228         print_log()
    12291225        return s
    12301226
     
    12341230        self._add_history("parallactify", varlist)
    12351231
     1232    @print_log_dec
    12361233    def convert_pol(self, poltype=None):
    12371234        """
     
    12521249                raise
    12531250        s._add_history("convert_pol", varlist)
    1254         print_log()
    12551251        return s
    12561252
     1253    @print_log_dec
    12571254    def smooth(self, kernel="hanning", width=5.0, order=2, insitu=None):
    12581255        """
     
    12811278        s = scantable(self._math._smooth(self, kernel.lower(), width, order))
    12821279        s._add_history("smooth", varlist)
    1283         print_log()
    12841280        if insitu: self._assign(s)
    12851281        else: return s
    12861282
    1287 
     1283    @print_log_dec
    12881284    def poly_baseline(self, mask=None, order=0, plot=False, uselin=False, insitu=None):
    12891285        """
     
    13191315            s = f.auto_fit(insitu, plot=plot)
    13201316            s._add_history("poly_baseline", varlist)
    1321             print_log()
    13221317            if insitu: self._assign(s)
    13231318            else: return s
     
    13291324            else:
    13301325                raise RuntimeError(msg)
    1331 
    13321326
    13331327    def auto_poly_baseline(self, mask=[], edge=(0, 0), order=0,
     
    14481442            return workscan
    14491443
     1444    @print_log_dec
    14501445    def rotate_linpolphase(self, angle):
    14511446        """
     
    14611456        self._math._rotate_linpolphase(self, angle)
    14621457        self._add_history("rotate_linpolphase", varlist)
    1463         print_log()
    14641458        return
    14651459
    1466 
     1460    @print_log_dec
    14671461    def rotate_xyphase(self, angle):
    14681462        """
     
    14781472        self._math._rotate_xyphase(self, angle)
    14791473        self._add_history("rotate_xyphase", varlist)
    1480         print_log()
    14811474        return
    14821475
     1476    @print_log_dec
    14831477    def swap_linears(self):
    14841478        """
     
    14891483        self._math._swap_linears(self)
    14901484        self._add_history("swap_linears", varlist)
    1491         print_log()
    14921485        return
    14931486
     1487    @print_log_dec
    14941488    def invert_phase(self):
    14951489        """
     
    14991493        self._math._invert_phase(self)
    15001494        self._add_history("invert_phase", varlist)
    1501         print_log()
    15021495        return
    15031496
     1497    @print_log_dec
    15041498    def add(self, offset, insitu=None):
    15051499        """
     
    15161510        s = scantable(self._math._unaryop(self, offset, "ADD", False))
    15171511        s._add_history("add", varlist)
    1518         print_log()
    15191512        if insitu:
    15201513            self._assign(s)
     
    15221515            return s
    15231516
     1517    @print_log_dec
    15241518    def scale(self, factor, tsys=True, insitu=None):
    15251519        """
     
    15381532        s = scantable(self._math._unaryop(self, factor, "MUL", tsys))
    15391533        s._add_history("scale", varlist)
    1540         print_log()
    15411534        if insitu:
    15421535            self._assign(s)
     
    15801573        self._add_history("set_sourcetype", varlist)
    15811574
     1575    @print_log_dec
    15821576    def auto_quotient(self, preserve=True, mode='paired'):
    15831577        """
     
    16201614            s = scantable(self._math._auto_quotient(self, mode, preserve))
    16211615        s._add_history("auto_quotient", varlist)
    1622         print_log()
    16231616        return s
    16241617
     1618    @print_log_dec
    16251619    def mx_quotient(self, mask = None, weight='median', preserve=True):
    16261620        """
     
    16421636        q = quotient(on, off, preserve)
    16431637        q._add_history("mx_quotient", varlist)
    1644         print_log()
    16451638        return q
    16461639
     1640    @print_log_dec
    16471641    def freq_switch(self, insitu=None):
    16481642        """
     
    16601654        s = scantable(self._math._freqswitch(self))
    16611655        s._add_history("freq_switch", varlist)
    1662         print_log()
    16631656        if insitu: self._assign(s)
    16641657        else: return s
    16651658
     1659    @print_log_dec
    16661660    def recalc_azel(self):
    16671661        """
     
    16741668        self._recalcazel()
    16751669        self._add_history("recalc_azel", varlist)
    1676         print_log()
    16771670        return
    16781671
     1672    @print_log_dec
    16791673    def __add__(self, other):
    16801674        varlist = vars()
     
    16871681            raise TypeError("Other input is not a scantable or float value")
    16881682        s._add_history("operator +", varlist)
    1689         print_log()
    16901683        return s
    16911684
     1685    @print_log_dec
    16921686    def __sub__(self, other):
    16931687        """
     
    17031697            raise TypeError("Other input is not a scantable or float value")
    17041698        s._add_history("operator -", varlist)
    1705         print_log()
    17061699        return s
    17071700
     1701    @print_log_dec
    17081702    def __mul__(self, other):
    17091703        """
     
    17191713            raise TypeError("Other input is not a scantable or float value")
    17201714        s._add_history("operator *", varlist)
    1721         print_log()
    17221715        return s
    17231716
    17241717
     1718    @print_log_dec
    17251719    def __div__(self, other):
    17261720        """
     
    17301724        s = None
    17311725        if isinstance(other, scantable):
    1732             s = scantable(self._math._binaryop(self, other, "DIV"))
     1726            s = scantable(self._math._binaryop(self, other, "DIV"))
    17331727        elif isinstance(other, float):
    17341728            if other == 0.0:
     
    17381732            raise TypeError("Other input is not a scantable or float value")
    17391733        s._add_history("operator /", varlist)
    1740         print_log()
    17411734        return s
    17421735
     
    17641757        basesel = self.get_selection()
    17651758        for i in range(self.nrow()):
    1766             sel = selector()+basesel
    1767             sel.set_scans(self.getscan(i))
    1768             sel.set_beams(self.getbeam(i))
    1769             sel.set_ifs(self.getif(i))
    1770             sel.set_polarisations(self.getpol(i))
    1771             self.set_selection(sel)
     1759            sel = self.get_row_selector(i)
     1760            self.set_selection(basesel+sel)
    17721761            nans = numpy.isnan(self._getspectrum(0))
    17731762        if numpy.any(nans):
Note: See TracChangeset for help on using the changeset viewer.