def __init__(self, parent=None, autofit=False): App.__init__(self) wx.Frame.__init__(self, parent, id=wx.ID_ANY, title='CanvasFrame', pos=wx.DefaultPosition, size=wx.Size(800, 600), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) sizer = wx.BoxSizer(wx.VERTICAL) self.canvas = MCanvas(self, autofit=autofit) sizer.Add(self.canvas, 1, wx.EXPAND | wx.ALL, 0) self.SetSizer(sizer) self.set_rg = self.canvas.set_rg self.set_lut = self.canvas.set_rg self.set_log = self.canvas.set_log self.set_mode = self.canvas.set_mode self.set_tool = self.canvas.set_tool self.set_imgs = self.canvas.set_imgs self.set_img = self.canvas.set_img self.set_cn = self.canvas.set_cn self.Bind(wx.EVT_IDLE, self.on_idle) self.Bind(wx.EVT_ACTIVATE, self.on_valid) self.Bind(wx.EVT_CLOSE, self.on_close)
def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = 'ImageApp', size = wx.Size(800,600), pos = wx.DefaultPosition, style = wx.RESIZE_BORDER|wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) App.__init__(self) self.SetSizeHints( wx.Size(600,-1) ) sizer = wx.BoxSizer(wx.VERTICAL) self.toolbar = ToolBar(self) self.toolbar.Fit() sizer.Add(self.toolbar, 0, wx.EXPAND |wx.ALL, 0) self.canvasnb = CanvasNoteBook(self) self.canvasnb.Bind( wx.lib.agw.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.on_new_img) self.canvasnb.Bind( wx.lib.agw.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.on_close_img) sizer.Add(self.canvasnb, 1, wx.EXPAND |wx.ALL, 0) self.stapanel = stapanel = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) sizersta = wx.BoxSizer( wx.HORIZONTAL ) self.txt_info = wx.StaticText( stapanel, wx.ID_ANY, "ImageApp", wx.DefaultPosition, wx.DefaultSize, 0 ) sizersta.Add( self.txt_info, 1, wx.ALIGN_BOTTOM|wx.BOTTOM|wx.LEFT|wx.RIGHT, 2 ) self.pro_bar = ProgressBar(stapanel) sizersta.Add( self.pro_bar, 0, wx.ALL, 2 ) stapanel.SetSizer(sizersta) sizer.Add(self.stapanel, 0, wx.EXPAND | wx.ALL, 0) self.SetSizer(sizer) self.Layout() self.Centre( wx.BOTH ) self.Bind(wx.EVT_CLOSE, self.on_close)
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title='ImagePy', size=wx.Size(800, 600), pos=wx.DefaultPosition, style=wx.RESIZE_BORDER | wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) App.__init__(self) self.SetSizeHints(wx.Size(600, -1)) self.init_menu() sizer = wx.BoxSizer() self.canvasnb = CanvasNoteBook(self) self.canvasnb.Bind(wx.lib.agw.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.on_new_img) self.canvasnb.Bind(wx.lib.agw.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.on_close_img) sizer.Add(self.canvasnb, 1, wx.EXPAND | wx.ALL, 0) self.toolbar = ToolBar(self, False) self.toolbar.Fit() sizer.Add(self.toolbar, 0, wx.EXPAND | wx.ALL, 0) self.SetSizer(sizer) self.Layout() self.Centre(wx.BOTH) self.Bind(wx.EVT_CLOSE, self.on_close)
def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = 'ImagePy', size = wx.Size(-1,-1), pos = wx.DefaultPosition, style = wx.RESIZE_BORDER|wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) App.__init__(self) self.auimgr = aui.AuiManager() self.auimgr.SetManagedWindow( self ) self.SetSizeHints( wx.Size(600,-1) ) logopath = os.path.join(root_dir, 'data/logo.ico') self.SetIcon(wx.Icon(logopath, wx.BITMAP_TYPE_ICO)) self.init_menu() self.init_tool() self.init_widgets() self.init_text() self.init_status() self._load_all() self.Fit() self.Layout() self.auimgr.Update() self.Fit() self.Centre( wx.BOTH ) self.Bind(wx.EVT_CLOSE, self.on_close) self.Bind(aui.EVT_AUI_PANE_CLOSE, self.on_pan_close) self.source()
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title='ImagePy', size=wx.Size(800, 600), pos=wx.DefaultPosition, style=wx.RESIZE_BORDER | wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) App.__init__(self) self.auimgr = aui.AuiManager() self.auimgr.SetManagedWindow(self) self.SetSizeHints(wx.Size(800, 600)) self.init_menu() self.init_canvas() self.init_table() self.init_status() self.Layout() self.auimgr.Update() self.Fit() self.Centre(wx.BOTH) self.Bind(wx.EVT_CLOSE, self.on_close) self.Bind(aui.EVT_AUI_PANE_CLOSE, self.on_pan_close)
def _show_img(self, img, title=None): print(img) canvas = self.canvasnb.add_canvas() if not isinstance(img, Image): img = Image(img, title) App.show_img(self, img, img.title) canvas.set_img(img)
def action_demo5(): app = App() image = Image([camera()], 'camera') app.show_img(image, 'camera') Gaussian().start(app) plt.subplot(121).imshow(camera()) plt.subplot(122).imshow(image.img) plt.show()
def _show_table(self, tab, title): grid = self.tablenb.add_grid() if not isinstance(tab, Table): tab = Table(tab, title) App.show_table(self, tab, tab.title) grid.set_data(tab) info = self.auimgr.GetPane(self.tablenbwrap) info.Show(True) self.auimgr.Update()
def para_test(): app = App() para = {'name': '', 'age': 5} view = [(str, 'name', 'your', 'name'), (int, 'age', (0, 120), 0, 'your', 'age')] rst = app.show_para('Personal Information', para, view) # >>> your: ? name <str> yxdragon # >>> your: ? age <int> 32 print(rst)
def _show_table(self, tab, title): cframe = GridFrame(self) grid = cframe.grid if not isinstance(tab, Table): tab = Table(tab, title) App.show_table(self, tab, tab.title) grid.set_data(tab) cframe.Bind(wx.EVT_ACTIVATE, self.on_active_table) cframe.Bind(wx.EVT_CLOSE, self.on_close_table) cframe.SetIcon(self.GetIcon()) cframe.Show()
def _show_img(self, img, title=None): cframe = CanvasFrame(self, True) canvas = cframe.canvas if not isinstance(img, Image): img = Image(img, title) App.show_img(self, img, img.title) cframe.Bind(wx.EVT_ACTIVATE, self.on_active_img) cframe.Bind(wx.EVT_CLOSE, self.on_close_img) canvas.set_img(img) cframe.SetIcon(self.GetIcon()) cframe.Show()
def basic_test(): app = App() # alert a message app.alert('Hello!', title='SciApp') # show a text, here just print it app.show_txt('Hello', title='SciApp') # show a markdown text, here just print it app.show_md('Hello', title='SciApp') # yes or no rst = app.yes_no('Are you ok?', 'SciApp') print(rst)
def __init__(self, parent): App.__init__(self) wx.Frame.__init__(self, parent, id=wx.ID_ANY, title='CanvasNoteFrame', pos=wx.DefaultPosition, size=wx.Size(800, 600), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) sizer = wx.BoxSizer(wx.VERTICAL) self.notebook = CanvasNoteBook(self) self.canvas = self.notebook.canvas sizer.Add(self.notebook, 1, wx.EXPAND | wx.ALL, 0) self.SetSizer(sizer) self.add_canvas = self.notebook.add_canvas self.Layout() self.Bind(wx.EVT_CLOSE, self.on_close)
def macros_with_para(): app = App(asyn=False) for i in [OpenFile, SaveImage, Gaussian]: app.add_plugin(i.title, i) app.run_macros([('Open', {'path':'camera.png'}), ('Gaussian', {'sigma':2}), ('Save Image', {'path':'blur.png'})])
def macros_test(): app = App(asyn=False) for i in [OpenFile, SaveImage, Gaussian]: app.add_plugin(i.title, i) app.run_macros([('Open', None), ('Gaussian', None), ('Save Image', None)])
def object_test(): ''' there is a manager for every type of object. such as img_manager, we can call app's: show_img, close_img, active_img, get_img ''' from sciapp.object import Image from skimage.data import camera app = App() image = Image([camera()], 'camera') app.show_img(image, 'camera') # >>> UINT8 512x512 S:1/1 C:0/1 0.25M print(app.get_img()) # >>> <sciapp.object.image.Image object at 0x000002076A025780> print(app.img_names()) # >>> ['camera'] app.close_img('camera') # >>> close image: camera print(app.img_names())
def on_close_table(self, event): App.close_table(self, event.GetEventObject().grid.table.title) event.Skip()
def on_close_img(self, event): #event.GetEventObject().Bind(wx.EVT_ACTIVATE, None) App.close_img(self, event.GetEventObject().canvas.image.title) event.Skip()
def close_table(self, name=None): App.close_tab(self, name) for i in range(self.tablenb.GetPageCount()): if self.tablenb.GetPageText(i) == name: return self.tablenb.DeletePage(i)
def read_gaussian_write(): app = App() ImageReader().start(app) Gaussian().start(app) ImageWriter().start(app)
def img_write_demo4(): app = App() FileReader().start(app) ImageWriter().start(app)
def image_read_demo3(): app = App() FileReader().start(app) print('images:', app.img_names(), 'tables:', app.table_names())
def image_read_demo2(): app = App() ImageReader().start(app)
def image_read_demo1(): app = App() ImageReader1().start(app) print(app.img_names())
def close_img(self, name): App.close_img(self, name) for i in range(self.canvasnb.GetPageCount()): if self.canvasnb.GetPageText(i) == name: return self.canvasnb.DeletePage(i)
def io_process_test(): app = App(asyn=False) OpenFile().start(app) Gaussian().start(app) SaveImage().start(app)
def on_close_img(self, event): canvas = event.GetEventObject().GetPage(event.GetSelection()) #self.remove_img_win(canvas) App.close_img(self, canvas.image.title)
def on_close_table(self, event): grid = event.GetEventObject().GetPage(event.GetSelection()) App.close_table(self, grid.table.title)
def action_demo1(): app = App() SciAction().start(app)
def __init__(self): App.__init__(self, False)