Ejemplo n.º 1
0
 def run(self, para=None):
     if para['name'] == 'All':
         for i in ImageManager.get_titles():
             WindowsManager.get(i).close()
     else:
         print(WindowsManager.get(para['name']))
         WindowsManager.get(para['name']).close()
Ejemplo n.º 2
0
 def on_items(self, event):
     items = ['No Background Image'] + ImageManager.get_titles()
     self.com_back.SetItems(items)
     if self.com_back.GetValue() in items:
         self.com_back.Select(items.index(self.com_back.GetValue()))
     else:
         self.com_back.Select(0)
Ejemplo n.º 3
0
 def load(self, ips):
     titles = ImageManager.get_titles()
     self.para['img1'] = titles[0]
     self.para['img2'] = titles[0]
     Match.view = [(list, 'img1', titles, str, 'template', ''),
                   (list, 'img2', titles, str, 'object', '')]
     return True
Ejemplo n.º 4
0
 def on_back(self, event):
     self.com_back.SetItems(['None'] + ImageManager.get_titles())
     cur = WindowsManager.get()
     if not cur is None: cur = cur.back
     if not cur is None: cur = cur.title
     self.com_back.SetValue(str(cur))
     modes = ['set', 'max', 'min', 'msk', 0.2, 0.4, 0.5, 0.6, 0.8]
     ips = ImageManager.get()
     if ips is None: self.com_mode.Select(0)
     else: self.com_mode.Select(modes.index(ips.chan_mode))
Ejemplo n.º 5
0
 def load(self, ips):
     titles = ImageManager.get_titles()
     self.para['img1'] = titles[0]
     self.para['img2'] = titles[0]
     Match.view = [
         ('lab', None, '=========  two image in 8-bit  ========='),
         (list, 'img1', titles, str, 'image1', ''),
         (list, 'img2', titles, str, 'image2', ''), ('lab', None, ''),
         ('lab', None, '======  parameter about the surf  ======'),
         (int, 'oct', (0, 5), 0, 'octaves', ''),
         (int, 'int', (0, 5), 0, 'intervals', ''),
         (int, 'thr', (500, 2000), 0, 'threshold', '1-100'),
         (bool, 'ext', 'extended'), (bool, 'upright', 'upright'),
         ('lab', None, ''),
         ('lab', None, '======  how to match and display  ======'),
         (list, 'trans', ['None', 'Affine', 'H**o'], str, 'transform', ''),
         (int, 'std', (1, 5), 0, 'Std', 'torlerance'),
         (list, 'style', ['Blue/Yellow', 'Hide'], str, 'Aspect', 'color'),
         (bool, 'log', 'show log')
     ]
     return True
Ejemplo n.º 6
0
 def load(self):
     ImageKiller.para = {'name': 'All'}
     titles = ['All'] + ImageManager.get_titles()
     ImageKiller.view = [(list, 'name', titles, str, 'Name', 'selected')]
     return True
Ejemplo n.º 7
0
    def __init__(self, parent, title, tree, key):
        wx.Dialog.__init__(self,
                           parent,
                           -1,
                           title,
                           style=wx.DEFAULT_DIALOG_STYLE,
                           size=wx.Size((300, 480)))
        # wx.Panel.__init__(self, parent, wx.ID_ANY)

        self.panel = panel = wx.Panel(self, wx.ID_ANY)
        topsizer = wx.BoxSizer(wx.VERTICAL)

        # Difference between using PropertyGridManager vs PropertyGrid is that
        # the manager supports multiple pages and a description box.
        self.pg = pg = wxpg.PropertyGridManager(
            panel, style=wxpg.PG_SPLITTER_AUTO_CENTER)

        # Show help as tooltips
        pg.SetExtraStyle(wxpg.PG_EX_HELP_AS_TOOLTIPS)

        pg.Bind(wxpg.EVT_PG_CHANGED, self.OnPropGridChange)
        pg.Bind(wxpg.EVT_PG_SELECTED, self.OnPropGridSelect)

        pg.AddPage('Page 1')
        self.key = key
        for page in tree:
            pg.Append(wxpg.PropertyCategory(page[0]))
            for item in page[1]:
                v = item[1]
                if v[0] == 'int':
                    pg.Append(wxpg.IntProperty(v[1], value=int(v[2]) or 0))
                if v[0] == 'float':
                    pg.Append(wxpg.FloatProperty(v[1], value=float(v[2]) or 0))
                if v[0] == 'str':
                    pg.Append(wxpg.StringProperty(v[1], value=v[2] or ''))
                if v[0] == 'txt':
                    pg.Append(wxpg.LongStringProperty(v[1], value=v[2] or ''))
                if v[0] == 'bool': pg.Append(wxpg.BoolProperty(v[1]))
                if v[0] == 'date':
                    pg.Append(wxpg.DateProperty(v[1], value=wx.DateTime.Now()))
                if v[0] == 'list':
                    pg.Append(
                        wxpg.EnumProperty(
                            v[1], v[1],
                            [i.strip() for i in v[2][1:-1].split(',')]))
                if v[0] == 'img':
                    pg.Append(
                        wxpg.EnumProperty(v[1], v[1],
                                          ImageManager.get_titles()))
                if v[0] == 'tab':
                    pg.Append(
                        wxpg.EnumProperty(v[1], v[1],
                                          TableManager.get_titles()))

        topsizer.Add(pg, 1, wx.EXPAND)
        self.txt_info = wx.TextCtrl(self, wx.ID_ANY, 'information',
                                    wx.DefaultPosition, wx.Size(80, 80),
                                    wx.TE_MULTILINE | wx.TRANSPARENT_WINDOW)
        topsizer.Add(self.txt_info, 0, wx.EXPAND | wx.ALL, 0)
        rowsizer = wx.BoxSizer(wx.HORIZONTAL)
        but = wx.Button(panel, wx.ID_OK, "OK")
        rowsizer.Add(but, 1)
        #but.Bind( wx.EVT_BUTTON, self.OnGetPropertyValues )
        but = wx.Button(panel, wx.ID_CANCEL, "Cancel")
        rowsizer.Add(but, 1)
        topsizer.Add(rowsizer, 0, wx.EXPAND)

        panel.SetSizer(topsizer)
        topsizer.SetSizeHints(panel)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(panel, 1, wx.EXPAND)
        self.SetSizer(sizer)
        self.SetAutoLayout(True)