Exemplo n.º 1
0
    def plot2Dimage(self):

        self.plot2Dimg = ImagePanel(self.panel, size=(300, 300))
        self.plot2Dimg.messenger = self.write_message

        self.plot2Dimg.display(self.raw_img)
        self.AutoContrast()

        self.plot2Dimg.redraw()
Exemplo n.º 2
0
    def plot2Dimage(self):

        self.plot2Dimg = ImagePanel(self.panel)  #,size=(300, 300))
        self.plot2Dimg.messenger = self.write_message

        self.Bind(wx.EVT_PAINT, self.OnPaint)

        self.plot2Dimg.display(self.raw_img)
        self.AutoContrast()

        self.plot2Dimg.redraw()
Exemplo n.º 3
0
    def __init__(self, parent, owner=None, _larch=None):

        wx.Panel.__init__(self, parent)
        self.owner = owner

        vbox = wx.BoxSizer(wx.VERTICAL)
        self.plot2D = ImagePanel(self,
                                 size=(500, 500),
                                 messenger=self.owner.write_message)
        vbox.Add(self.plot2D, proportion=1, flag=wx.ALL | wx.EXPAND, border=10)

        self.SetSizer(vbox)
Exemplo n.º 4
0
    def __init__(self,parent,type='2D image',owner=None,_larch=None,size=(500, 500)):

        wx.Panel.__init__(self, parent)
        self.owner = owner
        self.type  = type
        self.ai    = None
        self.on_calibration()

        vbox = wx.BoxSizer(wx.VERTICAL)
        self.plot2D = ImagePanel(self,size=size,messenger=self.owner.write_message)
        vbox.Add(self.plot2D,proportion=1,flag=wx.ALL|wx.EXPAND,border = 10)
        self.SetSizer(vbox)

        self.plot2D.cursor_callback = self.on_cursor
Exemplo n.º 5
0
    def panel2DXRDplot(self, panel):

        self.plot2D = ImagePanel(panel, size=(500, 500))
        self.plot2D.messenger = self.write_message
Exemplo n.º 6
0
    def __init__(self, parent=None, size=None, mode='intensity',
                 lasso_callback=None, 
                 output_title='Tomography Display Frame', subtitles=None,
                 user_menus=None, **kws):

        if size is None: size = (1500, 600)
        self.lasso_callback = lasso_callback
        self.user_menus = user_menus
        self.cursor_menulabels =  {}
        self.cursor_menulabels.update(CURSOR_MENULABELS)

        self.title = output_title

        self.det = None
        self.xrmfile = None
        self.wxmplot_version = get_wxmplot_version()

        BaseFrame.__init__(self, parent=parent,
                           title  = output_title,
                           output_title=output_title,
                           size=size, **kws)

        self.cmap_panels = {}

        self.subtitles = {}
        self.config_mode = None
        if subtitles is not None:
            self.subtitles = subtitles
        sbar_widths = [-2, -1, -1]
        sbar = self.CreateStatusBar(len(sbar_widths), wx.CAPTION)
        sfont = sbar.GetFont()
        sfont.SetWeight(wx.BOLD)
        sfont.SetPointSize(10)
        sbar.SetFont(sfont)
        self.SetStatusWidths(sbar_widths)

        self.optional_menus = []

        self.bgcol = rgb2hex(self.GetBackgroundColour()[:3])

        splitter  = wx.SplitterWindow(self, style=wx.SP_LIVE_UPDATE)
        splitter.SetMinimumPaneSize(225)

        self.config_panel = wx.Panel(splitter)
        self.main_panel   = wx.Panel(splitter)
        
        img_opts = dict(size = (700, 525),
                        dpi  = 100,
                        data_callback  = self.onDataChange,
                        lasso_callback = self.onLasso,
                        output_title   = self.output_title)
        
        self.tomo_frame = [TomoFrameClass(panel=ImagePanel(self.main_panel, **img_opts),
                                          label='Sinogram'),
                           TomoFrameClass(panel=ImagePanel(self.main_panel, **img_opts),
                                          label='Tomograph')]

        for iframe in self.tomo_frame:
            iframe.panel.nstatusbar = sbar.GetFieldsCount()

        self.BuildMenu()

        self.SetBackgroundColour('#F8F8F4')

        self.imin_val = {}
        self.imax_val = {}
        self.islider_range = {}

        self.config_mode = 'int'
        if mode.lower().startswith('rgb'):
            self.config_mode = 'rgb'

        self.Build_ConfigPanel()

        for iframe in self.tomo_frame:
            kwargs = {'frame':iframe}
            iframe.panel.add_cursor_mode('prof', 
                                         motion   = partial(self.prof_motion,   **kwargs),
                                         leftdown = partial(self.prof_leftdown, **kwargs),
                                         leftup   = partial(self.prof_leftup,   **kwargs))
            iframe.panel.report_leftdown = partial(self.report_leftdown, **kwargs)
            iframe.panel.messenger = self.write_message


        self.prof_plotter = None
        self.zoom_ini =  None
        self.lastpoint = [None, None]
        self.this_point = None
        self.rbbox = None


        lsty = wx.ALIGN_LEFT|wx.LEFT|wx.TOP|wx.EXPAND
        gsizer = wx.GridSizer(1, 2, 2, 2)
        lsty |= wx.GROW|wx.ALL|wx.EXPAND|wx.ALIGN_CENTER|wx.ALIGN_CENTER_VERTICAL
        gsizer.Add(self.tomo_frame[0].panel, 1, lsty, 2)
        gsizer.Add(self.tomo_frame[1].panel, 1, lsty, 2)

        pack(self.main_panel, gsizer)
        splitter.SplitVertically(self.config_panel, self.main_panel, 1)

        mainsizer = wx.BoxSizer(wx.VERTICAL)
        mainsizer.Add(splitter, 1, wx.GROW|wx.ALL, 5)
        pack(self, mainsizer)