Ignore:
Timestamp:
04/07/11 17:37:27 (13 years ago)
Author:
Kana Sugimoto
Message:

New Development: No

JIRA Issue: No

Ready for Test: Yes

Interface Changes: No

What Interface Changed:

Test Programs:

Put in Release Notes: No

Module(s):

Description: tidy up the codes


File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/python/interactivemask.py

    r2109 r2117  
    4141            raise TypeError(msg)
    4242
    43         self.scan=None
    44         self.p=None
    45         self.newplot=False
     43        self.scan = None
     44        self.p = None
     45        self.newplot = False
    4646        if scan and isinstance(scan, scantable):
    47             self.scan=scan
     47            self.scan = scan
    4848        from asap.asapplotter import asapplotter
    4949        if plotter and isinstance(plotter,asapplotter):
    5050            self.p = plotter
    5151            if self.scan is None and isinstance(self.p._data,scantable):
    52                 self.scan=self.p._data
     52                self.scan = self.p._data
    5353        if self.scan is None:
    5454            msg = "Invalid scantable."
    5555            raise TypeError(msg)
    5656
    57         self.mask=_n_bools(self.scan.nchan(),True)
    58         self.callback=None
    59         self.event=None
    60         self.once=False
    61         self.showmask=True
    62         self.rect={}
    63         self.xold=None
    64         self.yold=None
    65         self.xdataold=None
    66         self.ydataold=None
    67         self._polygons=[]
     57        self.mask = _n_bools(self.scan.nchan(),True)
     58        self.callback = None
     59        self.event = None
     60        self.once = False
     61        self.showmask = True
     62        self.rect = {}
     63        self.xold = None
     64        self.yold = None
     65        self.xdataold = None
     66        self.ydataold = None
     67        self._polygons = []
    6868
    6969
     
    9090        # Create base mask
    9191        if ( len(masklist) > 0 ):
    92             self.mask=self.scan.create_mask(masklist,invert=invert)
    93         elif invert==True:
    94             self.mask=_n_bools(self.scan.nchan(),False)
    95         else:
    96             self.mask=_n_bools(self.scan.nchan(),True)
     92            self.mask = self.scan.create_mask(masklist,invert=invert)
     93        elif invert == True:
     94            self.mask = _n_bools(self.scan.nchan(),False)
     95        else:
     96            self.mask = _n_bools(self.scan.nchan(),True)
    9797
    9898
     
    106106        """
    107107        from matplotlib.backend_bases import MouseEvent
    108         if isinstance(event,MouseEvent) and event.name=='button_press_event':
    109             self.event=event
    110         else:
    111             msg="Invalid event."
     108        if isinstance(event,MouseEvent) and event.name == 'button_press_event':
     109            self.event = event
     110        else:
     111            msg = "Invalid event."
    112112            raise TypeError(msg)
    113113
     
    120120                  finish_selection(callback=func)
    121121        """
    122         self.callback=callback
     122        self.callback = callback
    123123
    124124    def select_mask(self,once=False,showmask=True):
     
    148148        self.once = once
    149149        if self.once:
    150             self.showmask=showmask
     150            self.showmask = showmask
    151151        else:
    152152            if not showmask:
     
    154154                asaplog.push('showmask spcification is ignored. Mask regions are plotted anyway.')
    155155                asaplog.post("WARN")
    156             self.showmask=True
     156            self.showmask = True
    157157
    158158        #if not self.p._plotter or self.p._plotter.is_dead:
     
    161161            asaplog.post()
    162162            from asap.asapplotter import asapplotter
    163             self.p=asapplotter()
    164             self.newplot=True
     163            self.p = asapplotter()
     164            self.newplot = True
    165165
    166166        # Plot selected spectra if needed
     
    206206        # Do not fire event when in zooming/panning mode
    207207        mode = self.p._plotter.figmgr.toolbar.mode
    208         if not mode =='':
     208        if not mode == '':
    209209            return
    210210        # Return if selected point is out of panel
     
    223223        sameaxes=(event.inaxes == self.rect['axes'])
    224224        if sameaxes:
    225             xnow=event.x
    226             ynow=event.y
    227             self.xold=xnow
    228             self.yold=ynow
    229             self.xdataold=event.xdata
    230             self.ydataold=event.ydata
    231         else:
    232             xnow=self.xold
    233             ynow=self.yold
     225            xnow = event.x
     226            ynow = event.y
     227            self.xold = xnow
     228            self.yold = ynow
     229            self.xdataold = event.xdata
     230            self.ydataold = event.ydata
     231        else:
     232            xnow = self.xold
     233            ynow = self.yold
    234234
    235235        self.p._plotter.figmgr.toolbar.draw_rubberband(event, xnow, ynow, self.rect['x'], self.rect['y'])
     
    243243
    244244        if event.inaxes == self.rect['axes']:
    245             xend=event.x
    246             yend=event.y
    247             xdataend=event.xdata
    248             ydataend=event.ydata
    249         else:
    250             xend=self.xold
    251             yend=self.yold
    252             xdataend=self.xdataold
    253             ydataend=self.ydataold
     245            xend = event.x
     246            yend = event.y
     247            xdataend = event.xdata
     248            ydataend = event.ydata
     249        else:
     250            xend = self.xold
     251            yend = self.yold
     252            xdataend = self.xdataold
     253            ydataend = self.ydataold
    254254
    255255        self.rect['world'][2:4] = [xdataend, ydataend]
     
    257257        self._update_mask()
    258258        # Clear up region selection
    259         self.rect={}
    260         self.xold=None
    261         self.yold=None
    262         self.xdataold=None
    263         self.ydataold=None
     259        self.rect = {}
     260        self.xold = None
     261        self.yold = None
     262        self.xdataold = None
     263        self.ydataold = None
    264264        if self.once: self.finish_selection(callback=self.callback)
    265265
    266266    def _update_mask(self):
    267267        # Min and Max for new mask
    268         xstart=self.rect['world'][0]
    269         xend=self.rect['world'][2]
     268        xstart = self.rect['world'][0]
     269        xend = self.rect['world'][2]
    270270        if xstart <= xend: newlist=[xstart,xend]
    271         else: newlist=[xend,xstart]
     271        else: newlist = [xend,xstart]
    272272        # Mask or unmask
    273         invmask=None
     273        invmask = None
    274274        if self.rect['button'] == 1:
    275             invmask=False
    276             mflg='Mask'
     275            invmask = False
     276            mflg = 'Mask'
    277277        elif self.rect['button'] == 3:
    278             invmask=True
    279             mflg='UNmask'
     278            invmask = True
     279            mflg = 'UNmask'
    280280        asaplog.push(mflg+': '+str(newlist))
    281281        asaplog.post()
    282         newmask=self.scan.create_mask(newlist,invert=invmask)
     282        newmask = self.scan.create_mask(newlist,invert=invmask)
    283283        # Logic operation to update mask
    284284        if invmask:
    285             self.mask=mask_and(self.mask,newmask)
    286         else:
    287             self.mask=mask_or(self.mask,newmask)
     285            self.mask = mask_and(self.mask,newmask)
     286        else:
     287            self.mask = mask_or(self.mask,newmask)
    288288        # Plot masked regions
    289289        #if self.showmask or not self.once: self._plot_mask()
     
    295295        msks = self.scan.get_masklist(self.mask,row=0)
    296296        # Get projection masks for multi-IF
    297         ifs=self.scan.getifnos()
     297        ifs = self.scan.getifnos()
    298298        projs = []
    299299        if len(ifs) > 1:
    300             row0if=self.scan.getif(0)
     300            row0if = self.scan.getif(0)
    301301            for ifno in ifs:
    302302                if ifno == row0if: continue
     
    308308            # Remove old polygons
    309309            for polygon in self._polygons: polygon.remove()
    310             self._polygons=[]
     310            self._polygons = []
    311311        # Plot new polygons
    312312        if len(msks) > 0:
    313             npanel=len(self.p._plotter.subplots)
    314             j=-1
     313            npanel = len(self.p._plotter.subplots)
     314            j = -1
    315315            for iloop in range(len(msks)*npanel):
    316316                i = iloop % len(msks)
     
    346346            self.p._plotter = None
    347347            del self.p
    348             self.p=None
    349             self._polygons=[]
     348            self.p = None
     349            self._polygons = []
    350350
    351351
     
    354354        Erase masks plots from the plotter.
    355355        """
    356         if len(self._polygons)>0:
     356        if len(self._polygons) > 0:
    357357            # Remove old polygons
    358358            for polygon in self._polygons: polygon.remove()
    359359            self.p._plotter.show()
    360             self._polygons=[]
     360            self._polygons = []
    361361
    362362
Note: See TracChangeset for help on using the changeset viewer.