Changeset 1295 for trunk/python


Ignore:
Timestamp:
11/06/06 22:22:03 (18 years ago)
Author:
mar637
Message:

merge form Release2.1.1 branch

Location:
trunk/python
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/python/__init__.py

    r1280 r1295  
    253253    rcParams.update(rcParamsDefault)
    254254
     255def _n_bools(n, val):
     256    return [ val for i in xrange(n) ]
    255257
    256258def _is_sequence_or_number(param, ptype=int):
     
    298300        'data/Sgr_86p262_best_SPC.sdfits']
    299301    """
    300     import os
    301302    if not os.path.isdir(path):
    302303        return None
    303     valid = "rpf sdf sdfits mbf asap".split()
     304    valid = "rpf rpf.1 rpf.2 sdf sdfits mbf asap".split()
    304305    if not suffix in valid:
    305306        return None
     
    325326    return
    326327
    327 try:
    328     import numpy.core as NUM
    329 except ImportError:
    330     try:
    331         import numarray as NUM
    332     except ImportError:
    333         raise ImportError("You need to have numpy or numarray installed")
     328def mask_and(a, b):
     329    assert(len(a)==len(b))
     330    return [ a[i] & b[i] for i in xrange(len(a)) ]
     331
     332def mask_or(a, b):
     333    assert(len(a)==len(b))
     334    return [ a[i] | b[i] for i in xrange(len(a)) ]
     335
     336def mask_not(a):
     337    return [ not i for i in a ]
    334338
    335339from asapfitter import fitter
     
    342346from linecatalog import linecatalog
    343347
    344 mask_and = NUM.logical_and
    345 mask_or = NUM.logical_or
    346 mask_not = NUM.logical_not
    347 
    348348if rcParams['useplotter']:
    349     from  asapplotter import asapplotter
    350     gui = os.environ.has_key('DISPLAY') and rcParams['plotter.gui']
    351     if gui:
    352         import pylab as xyplotter
    353     plotter = asapplotter(gui)
    354     del gui
     349    try:
     350        from  asapplotter import asapplotter
     351        gui = os.environ.has_key('DISPLAY') and rcParams['plotter.gui']
     352        if gui:
     353            import pylab as xyplotter
     354            plotter = asapplotter(gui)
     355            del gui
     356    except ImportError:
     357        print "Matplotlib not installed. No plotting available"
    355358
    356359__date__ = '$Date$'.split()[1]
     
    362365    def version(): print  "ASAP %s(%s)"% (__version__, __date__)
    363366    def list_scans(t = scantable):
    364         import sys, types
     367        import types
    365368        globs = sys.modules['__main__'].__dict__.iteritems()
    366369        print "The user created scantables are:"
  • trunk/python/asapfitter.py

    r1273 r1295  
    22from asap import rcParams
    33from asap import print_log
    4 from asap import NUM
     4from asap import _n_bools
    55
    66class fitter:
     
    4242        self.y = ydat
    4343        if mask == None:
    44             self.mask = NUM.ones(len(xdat))
     44            self.mask = _n_bools(len(xdat), True)
    4545        else:
    4646            self.mask = mask
     
    6565        self.mask = None
    6666        if mask is None:
    67             self.mask = NUM.ones(self.data.nchan())
     67            self.mask = _n_bools(self.data.nchan(), True)
    6868        else:
    6969            self.mask = mask
     
    215215        if self.fitfunc == "gauss" and component is not None:
    216216            if not self.fitted and sum(self.fitter.getparameters()) == 0:
    217                 pars = list(NUM.zeros(len(self.components)*3))
    218                 fxd = list(NUM.zeros(len(pars)))
     217                pars = _n_bools(len(self.components)*3, False)
     218                fxd = _n_bools(len(pars), False)
    219219            else:
    220220                pars = list(self.fitter.getparameters())
  • trunk/python/asapplotter.py

    r1259 r1295  
    11from asap import rcParams, print_log, selector
    2 from asap import NUM
    32import matplotlib.axes
    43import sre
  • trunk/python/scantable.py

    r1280 r1295  
    44from asap import asaplog
    55from asap import selector
    6 from asap import NUM
    76from asap import linecatalog
     7from asap import _n_bools, mask_not, mask_and, mask_or
    88
    99class scantable(Scantable):
     
    345345            print "--------------------------------------------------"
    346346            print out
    347             return
    348         else:
    349             retval = { 'axesnames': ['scanno', 'beamno', 'ifno', 'polno', 'cycleno'],
    350                        'axes' : axes,
    351                        'data': statvals}
    352             return retval
     347        #else:
     348            #retval = { 'axesnames': ['scanno', 'beamno', 'ifno', 'polno', 'cycleno'],
     349            #           'axes' : axes,
     350            #           'data': statvals}
     351        return statvals
    353352
    354353    def stddev(self, mask=None):
     
    721720            asaplog.push(msg)
    722721        n = self.nchan()
    723         msk = NUM.zeros(n)
     722        msk = _n_bools(n, False)
    724723        # test if args is a 'list' or a 'normal *args - UGLY!!!
    725724
     
    731730            for i in range(n):
    732731                if data[i] >= window[0] and data[i] <= window[1]:
    733                     msk[i] = 1
     732                    msk[i] = True
    734733        if kwargs.has_key('invert'):
    735734            if kwargs.get('invert'):
    736                 msk = NUM.logical_not(msk)
     735                msk = mask_not(msk)
    737736        print_log()
    738737        return msk
     
    12021201        varlist = vars()
    12031202        if mask is None:
    1204             mask = list(NUM.ones(self.nchan(-1)))
     1203            mask = [True for i in xrange(self.nchan(-1))]
    12051204        from asap.asapfitter import fitter
    12061205        try:
Note: See TracChangeset for help on using the changeset viewer.