Ignore:
Timestamp:
Jan 20, 2012 4:11:03 PM (12 years ago)
Author:
Jae Cho <jhjcho@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
cdf515f
Parents:
356d2d3
Message:

rotation for only smaller # of pixels

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sansguiframe/src/sans/guiframe/local_perspectives/plotting/masking.py

    r602645d r4a4164c  
    1818import wx 
    1919import sys 
     20import time 
    2021import pylab 
    2122import math 
     
    4344    FONT_VARIANT = 1 
    4445     
    45  
     46from data_util.calcthread import CalcThread 
     47 
     48class CalcPlot(CalcThread): 
     49    """ 
     50    Compute Resolution 
     51    """ 
     52    def __init__(self, 
     53                 id = -1, 
     54                 panel = None, 
     55                 image = None, 
     56                 completefn = None, 
     57                 updatefn   = None, 
     58                 elapsed = 0, 
     59                 yieldtime  = 0.01, 
     60                 worktime   = 0.01 
     61                 ): 
     62        """ 
     63        """ 
     64        CalcThread.__init__(self,completefn, 
     65                 updatefn, 
     66                 yieldtime, 
     67                 worktime) 
     68        self.starttime = 0 
     69        self.id = id  
     70        self.panel = panel 
     71        self.image = image 
     72         
     73         
     74    def compute(self): 
     75        """ 
     76        excuting computation 
     77        """ 
     78        elapsed = time.time() - self.starttime 
     79        
     80        self.complete(panel=self.panel, image=self.image, elapsed=elapsed) 
     81         
     82         
    4683class MaskPanel(wx.Dialog): 
    4784    """ 
     
    519556    window_caption = "Plot" 
    520557    ## Flag to tell the AUI manager to put this panel in the center pane 
    521     CENTER_PANE = True 
     558    CENTER_PANE = False 
     559    ID = wx.NewId() 
    522560    def __init__(self, parent=None, base=None,  
    523                  data=None, dimension=1, id=-1, *args, **kwds): 
     561                 data=None, dimension=1, id=ID, *args, **kwds): 
    524562        kwds["style"] = wx.DEFAULT_DIALOG_STYLE 
    525563        kwds["size"] = wx.Size(_STATICBOX_WIDTH*1.5, PANEL_SIZE*1.5)  
     
    552590                self.newplot = Data2D(image=self.data.data) 
    553591                self.newplot.setValues(self.data) 
    554                  
    555             self.plotpanel.add_image(self.newplot)  
     592                    # Compute and get the image plot 
     593            self.get_plot() 
     594            #self.plotpanel.add_image(self.newplot)  
    556595            self.Centre() 
    557596            self.Layout() 
    558  
    559              
     597     
     598    def get_plot(self): 
     599        """ 
     600        Get Plot panel 
     601        """ 
     602        cal_plot = CalcPlot(panel=self.plotpanel,  
     603                                   image=self.newplot,  
     604                                   completefn=self.complete) 
     605        cal_plot.queue() 
     606     
     607    def complete(self, panel, image, elapsed=None): 
     608        """ 
     609        Plot image 
     610         
     611        :param image: newplot [plotpanel] 
     612        """ 
     613        wx.CallAfter(panel.add_image, image)  
     614         
    560615    def _setup_layout(self): 
    561616        """ 
     
    566621        if self.dimension == 3: 
    567622            note = "Note: I am very SLOW.     Please be PATIENT...\n" 
     623            if len(self.data.data) > 3600: 
     624                note += "Rotation disabled for pixels > 60x60." 
    568625            note_txt = wx.StaticText(self, -1, note)  
    569626            note_txt.SetForegroundColour(wx.RED) 
     
    610667        try: 
    611668            self.plotpanel.subplot.figure.clf() 
     669            self.plotpanel.close() 
    612670        except: 
    613671            # when called by data panel 
     
    678736        self._status_info(msg, status_type) 
    679737        status_type = 'stop'            
    680          
    681738        self.graph.render(self) 
    682         if self.dimension == 3: 
    683             pass 
    684         else: 
     739        if self.dimension < 3: 
     740            self.graph.render(self) 
    685741            self.subplot.figure.canvas.draw_idle() 
    686742        msg = 'Plotting Completed.' 
Note: See TracChangeset for help on using the changeset viewer.