コード例 #1
0
 def createAdjustMethodSelector(self, start_position):
     # define widget
     regtypes = self.node.getAdjustMethods()
     self.widgets['adjust method'] = Choice(self, -1, choices=regtypes)
     # make sizer
     sz = wx.GridBagSizer(5, 5)
     label = wx.StaticText(self, -1, 'Adjust exposure dose by changing')
     sz.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
     sz.Add(self.widgets['adjust method'], (0, 1), (1, 1),
            wx.ALIGN_CENTER_VERTICAL)
     # add to main
     total_length = (1, 1)
     self.szsettings.Add(sz, start_position, total_length, wx.ALIGN_CENTER)
     return start_position[0] + total_length[0], start_position[
         1] + total_length[1]
コード例 #2
0
 def createTemplateCorrelationChoice(self, sz, start_position):
     # define widget
     self.widgets['template type'] = Choice(self,
                                            -1,
                                            choices=self.node.cortypes)
     # make sizer
     szcor = wx.GridBagSizer(5, 5)
     label = wx.StaticText(self, -1, 'Use')
     szcor.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
     szcor.Add(self.widgets['template type'], (0, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL)
     label = wx.StaticText(self, -1, 'correlation')
     szcor.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
     # add to main
     total_length = (1, 2)
     return self.addToSizer(sz, szcor, start_position, total_length)
コード例 #3
0
	def initialize(self):
		leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
		sb = wx.StaticBox(self, -1, 'Low Pass Filter (Phase Correlation)')
		sbszlpf = wx.StaticBoxSizer(sb, wx.VERTICAL)

		self.widgets['template lpf'] = {}
		self.widgets['template lpf']['sigma'] = FloatEntry(self, -1,
																												min=0.0, chars=4)

		szlpf = wx.GridBagSizer(5, 5)
		label = wx.StaticText(self, -1, 'Sigma:')
		szlpf.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		szlpf.Add(self.widgets['template lpf']['sigma'], (0, 1), (1, 1),
						wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
		szlpf.AddGrowableCol(1)

		sbszlpf.Add(szlpf, 1, wx.EXPAND|wx.ALL, 5)

		sb = wx.StaticBox(self, -1, 'Template Correlation')
		sbsztemplate = wx.StaticBoxSizer(sb, wx.VERTICAL)
		self.widgets['template rings'] = leginon.gui.wx.Rings.Panel(self)
		self.widgets['template type'] = Choice(self, -1, choices=self.node.cortypes)

		szcor = wx.GridBagSizer(5, 5)
		label = wx.StaticText(self, -1, 'Use')
		szcor.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		szcor.Add(self.widgets['template type'], (0, 1), (1, 1),
							wx.ALIGN_CENTER_VERTICAL)
		label = wx.StaticText(self, -1, 'correlation')
		szcor.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

		sztemplate = wx.GridBagSizer(5, 5)
		sztemplate.Add(szcor, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		sztemplate.Add(self.widgets['template rings'], (1, 0), (1, 1),
										wx.ALIGN_CENTER|wx.FIXED_MINSIZE)

		sbsztemplate.Add(sztemplate, 1, wx.EXPAND|wx.ALL, 5)

		self.btest = wx.Button(self, -1, 'Test')
		szbutton = wx.GridBagSizer(5, 5)
		szbutton.Add(self.btest, (0, 0), (1, 1),
									wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
		szbutton.AddGrowableCol(0)

		self.Bind(wx.EVT_BUTTON, self.onTestButton, self.btest)

		return [sbsztemplate, sbszlpf, szbutton]
コード例 #4
0
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)

        szcor = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Use')
        szcor.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.widgets['correlation type'] = Choice(self,
                                                  -1,
                                                  choices=self.node.cortypes)
        szcor.Add(self.widgets['correlation type'], (0, 1), (1, 1),
                  wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'correlation')
        szcor.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Correlation Low Pass')
        self.widgets['correlation lpf'] = FloatEntry(self,
                                                     -1,
                                                     min=0.0,
                                                     chars=4)
        szcor.Add(label, (1, 0), (1, 1))
        szcor.Add(self.widgets['correlation lpf'], (1, 1), (1, 1))
        self.widgets['rotate'] = wx.CheckBox(self, -1, 'Rotate')
        szcor.Add(self.widgets['rotate'], (2, 0), (1, 1))

        label = wx.StaticText(self, -1, 'Angle Increment')
        self.widgets['angle increment'] = FloatEntry(self,
                                                     -1,
                                                     min=0.0,
                                                     chars=4)
        szcor.Add(label, (3, 0), (1, 1))
        szcor.Add(self.widgets['angle increment'], (3, 1), (1, 1))

        label = wx.StaticText(self, -1, 'SNR Threshold')
        self.widgets['snr threshold'] = FloatEntry(self, -1, min=0.0, chars=4)
        szcor.Add(label, (4, 0), (1, 1))
        szcor.Add(self.widgets['snr threshold'], (4, 1), (1, 1))

        self.bcor = wx.Button(self, -1, 'Correlate')
        szbutton = wx.GridBagSizer(5, 5)
        szbutton.Add(self.bcor, (0, 0), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)

        self.Bind(wx.EVT_BUTTON, self.onCorrelate, self.bcor)

        return [szcor, szbutton]
コード例 #5
0
    def addBasicGonModelerSettings(self):
        sb = wx.StaticBox(self, -1, 'Measurement')
        sbszmeasure = wx.StaticBoxSizer(sb, wx.VERTICAL)
        sb = wx.StaticBox(self, -1, 'Modeling')
        sbszmodel = wx.StaticBoxSizer(sb, wx.VERTICAL)

        self.widgets['measure axis'] = Choice(self, -1, choices=self.node.axes)
        self.widgets['measure points'] = IntEntry(self, -1, min=2, chars=5)
        self.widgets['measure interval'] = FloatEntry(self, -1, chars=9)
        self.widgets['model mag only'] = wx.CheckBox(
            self, -1, 'Scale and Rotation Adjustment Only')
        self.widgets['model terms'] = IntEntry(self, -1, chars=2)

        szmeasure = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Axis:')
        szmeasure.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szmeasure.Add(self.widgets['measure axis'], (0, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'Points:')
        szmeasure.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szmeasure.Add(
            self.widgets['measure points'], (1, 1), (1, 1),
            wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.FIXED_MINSIZE)
        label = wx.StaticText(self, -1, 'Interval')
        szmeasure.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szmeasure.Add(
            self.widgets['measure interval'], (2, 1), (1, 1),
            wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.FIXED_MINSIZE)
        sbszmeasure.Add(szmeasure, 1, wx.EXPAND | wx.ALL, 5)

        szmodel = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Terms:')
        szmodel.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szmodel.Add(
            self.widgets['model terms'], (0, 1), (1, 1),
            wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.FIXED_MINSIZE)
        szmodel.Add(self.widgets['model mag only'], (1, 0), (1, 2),
                    wx.ALIGN_CENTER)
        szmodel.AddGrowableCol(1)

        sbszmodel.Add(szmodel, 1, wx.EXPAND | wx.ALL, 5)

        return [sbszmeasure, sbszmodel]
コード例 #6
0
    def addSettings(self):
        self.widgets['correlation type'] = Choice(self,
                                                  -1,
                                                  choices=self.node.cortypes)
        self.widgets['override preset'] = wx.CheckBox(self, -1,
                                                      'Override Preset')
        self.widgets['instruments'] = leginon.gui.wx.Instrument.SelectionPanel(
            self)
        self.panel.setInstrumentSelection(self.widgets['instruments'])
        self.widgets['camera settings'] = leginon.gui.wx.Camera.CameraPanel(
            self)
        self.widgets['camera settings'].setGeometryLimits({
            'size':
            self.node.instrument.camerasize,
            'binnings':
            self.node.instrument.camerabinnings,
            'binmethod':
            self.node.instrument.camerabinmethod
        })

        szcor = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Use')
        szcor.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szcor.Add(self.widgets['correlation type'], (0, 1), (1, 1),
                  wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'correlation')
        szcor.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        sz = wx.GridBagSizer(5, 5)
        sz.Add(szcor, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['override preset'], (1, 0), (1, 1),
               wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['instruments'], (2, 0), (1, 1),
               wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['camera settings'], (0, 1), (3, 1),
               wx.ALIGN_CENTER | wx.EXPAND)

        sz.AddGrowableRow(2)
        sz.AddGrowableCol(0)
        sz.AddGrowableCol(1)
        return sz
コード例 #7
0
    def onNodeInitialized(self):
        leginon.gui.wx.Instrument.SelectionMixin.onNodeInitialized(self)
        self.locationsdialog = StageLocationsDialog(self, self.node)

        movetypes = self.node.calclients.keys()
        self.cmovetype = Choice(self.toolbar, -1, choices=movetypes)
        self.cmovetype.SetStringSelection(self.node.settings['move type'])
        ## make sure node setting is a value that is in the choice list
        self.node.settings['move type'] = self.cmovetype.GetStringSelection()
        self.cmovetype.SetToolTip(wx.ToolTip('Navigion Parameter'))
        self.toolbar.InsertControl(2, self.cmovetype)

        self.toolbar.Bind(wx.EVT_TOOL,
                          self.onSettingsTool,
                          id=leginon.gui.wx.ToolBar.ID_SETTINGS)
        self.toolbar.Bind(wx.EVT_TOOL,
                          self.onAcquireTool,
                          id=leginon.gui.wx.ToolBar.ID_ACQUIRE)
        self.toolbar.Bind(wx.EVT_TOOL,
                          self.onStageLocationsTool,
                          id=leginon.gui.wx.ToolBar.ID_STAGE_LOCATIONS)
        self.toolbar.Bind(wx.EVT_TOOL,
                          self.onReproTest,
                          id=leginon.gui.wx.ToolBar.ID_MEASURE)
        self.toolbar.Bind(wx.EVT_TOOL,
                          self.onResetXY,
                          id=leginon.gui.wx.ToolBar.ID_RESET_XY)
        self.toolbar.Bind(wx.EVT_TOOL,
                          self.onResetZ,
                          id=leginon.gui.wx.ToolBar.ID_RESET_Z)
        self.toolbar.Bind(wx.EVT_TOOL,
                          self.onResetAlpha,
                          id=leginon.gui.wx.ToolBar.ID_RESET_ALPHA)
        self.cmovetype.Bind(wx.EVT_CHOICE, self.onMoveTypeChoice)
        self.Bind(leginon.gui.wx.ImagePanelTools.EVT_IMAGE_CLICKED,
                  self.onImageClicked, self.imagepanel)
        self.test_dialog = ReproTestDialog(self)
        self.Bind(EVT_TEST, self.onReproTest, self)
コード例 #8
0
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sb = wx.StaticBox(self, -1, 'Image Correction')
        sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)
        #sb = wx.StaticBox(self, -1, 'Clipping')
        #sbszclip = wx.StaticBoxSizer(sb, wx.VERTICAL)
        sb = wx.StaticBox(self, -1, 'Reference Creation')
        sbszref = wx.StaticBoxSizer(sb, wx.VERTICAL)

        self.widgets['instruments'] = leginon.gui.wx.Instrument.SelectionPanel(
            self)
        self.panel.setInstrumentSelection(self.widgets['instruments'])

        self.widgets['n average'] = IntEntry(self, -1, min=1, max=99, chars=2)
        self.widgets['combine'] = Choice(self,
                                         -1,
                                         choices=['median', 'average'])
        self.widgets['store series'] = wx.CheckBox(self, -1, 'Save all images')

        self.widgets['camera settings'] = leginon.gui.wx.Camera.CameraPanel(
            self)
        self.widgets['camera settings'].setGeometryLimits({
            'size':
            self.node.instrument.camerasize,
            'binnings':
            self.node.instrument.camerabinnings,
            'binmethod':
            self.node.instrument.camerabinmethod
        })
        #self.widgets['clip min'] = FloatEntry(self, -1, chars=6)
        #self.widgets['clip max'] = FloatEntry(self, -1, chars=6)
        '''
                szclip = wx.GridBagSizer(5, 5)
                label = wx.StaticText(self, -1, 'Clip min:')
                szclip.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szclip.Add(self.widgets['clip min'], (0, 1), (1, 1), wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE)
                label = wx.StaticText(self, -1, 'Clip max:')
                szclip.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szclip.Add(self.widgets['clip max'], (1, 1), (1, 1), wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE)
                szclip.AddGrowableCol(1)
                sbszclip.Add(szclip, 1, wx.ALIGN_CENTER|wx.EXPAND|wx.ALL, 3)
                '''

        szref = wx.GridBagSizer(5, 5)

        label = wx.StaticText(self, -1, 'Images to combine:')
        szref.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szref.Add(self.widgets['n average'], (0, 1), (1, 1),
                  wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE)

        label = wx.StaticText(self, -1, 'Combine method:')
        szref.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szref.Add(self.widgets['combine'], (1, 1), (1, 1),
                  wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)

        szref.Add(self.widgets['store series'], (2, 0), (1, 2))

        sbszref.Add(szref, 1, wx.ALIGN_CENTER | wx.EXPAND | wx.ALL, 3)

        sz = wx.GridBagSizer(5, 10)
        sz.Add(self.widgets['instruments'], (0, 0), (1, 1), wx.ALIGN_CENTER)
        sz.Add(self.widgets['camera settings'], (1, 0), (2, 1),
               wx.ALIGN_CENTER | wx.EXPAND)
        sz.Add(sbszref, (0, 1), (1, 1), wx.EXPAND)
        #sz.Add(sbszclip, (1, 1), (1, 1), wx.EXPAND)

        sbsz.Add(sz, 0, wx.ALIGN_CENTER | wx.ALL, 5)

        return [sbsz]
    def addSettings(self):
        presets = self.node.presetsclient.getPresetNames()
        self.widgets['preset'] = PresetChoice(self, -1)
        self.widgets['preset'].setChoices(presets)
        self.widgets['label'] = Entry(self, -1, allowspaces=False)
        self.widgets['radius'] = FloatEntry(self, -1, min=0.0, chars=6)
        self.widgets['max size'] = IntEntry(self, -1, chars=6)
        self.widgets['max targets'] = IntEntry(self, -1, chars=6)
        self.widgets['overlap'] = FloatEntry(self, -1, max=100.0, chars=6)
        self.widgets['mosaic center'] = Choice(
            self, -1, choices=['stage center', 'current position'])
        self.widgets['ignore request'] = wx.CheckBox(
            self, -1, 'Ignore Request to Make Targets from Others')

        #szradius = wx.GridBagSizer(5, 5)
        #szradius.Add(self.widgets['radius'], (0, 0), (1, 1),
        #                                                               wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE)
        #label = wx.StaticText(self, -1, 'meters')
        #szradius.Add(label, (0, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        sz = wx.GridBagSizer(5, 10)

        label = wx.StaticText(self, -1, 'Preset:')
        sz.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['preset'], (0, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.EXPAND)

        label = wx.StaticText(self, -1, 'Label:')
        sz.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['label'], (1, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.EXPAND)

        label = wx.StaticText(self, -1, 'Radius:')
        sz.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        #sz.Add(szradius, (2, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
        sz.Add(self.widgets['radius'], (2, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'm')
        sz.Add(label, (2, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Max size:')
        sz.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['max size'], (3, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.EXPAND)

        label = wx.StaticText(self, -1, 'Max targets:')
        sz.Add(label, (4, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['max targets'], (4, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.EXPAND)

        label = wx.StaticText(self, -1, 'Overlap:')
        sz.Add(label, (5, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['overlap'], (5, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, '%')
        sz.Add(label, (5, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Mosaic Center:')
        sz.Add(label, (6, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['mosaic center'], (6, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)

        sz.Add(self.widgets['ignore request'], (7, 0), (1, 3),
               wx.ALIGN_CENTER_VERTICAL)

        sz.AddGrowableCol(1)

        return sz
コード例 #10
0
        def initialize(self):
                leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
                sb = wx.StaticBox(self, -1, 'Raster')
                sbszraster = wx.StaticBoxSizer(sb, wx.VERTICAL)
                sb = wx.StaticBox(self, -1, 'Spacing/Angle Calculator')
                sbszauto = wx.StaticBoxSizer(sb, wx.VERTICAL)

                self.widgets['raster spacing'] = IntEntry(self, -1, chars=4, min=1)
                self.widgets['raster spacing asymm'] = IntEntry(self, -1, chars=4)
                self.widgets['raster limit'] = IntEntry(self, -1, chars=4, min=1)
                self.widgets['raster limit asymm'] = IntEntry(self, -1, chars=4)
                self.widgets['raster angle'] = FloatEntry(self, -1, chars=4)
                self.widgets['raster center on image'] = wx.CheckBox(self, -1, 'Center on image')
                self.widgets['raster center x'] = IntEntry(self, -1, chars=4)
                self.widgets['raster center y'] = IntEntry(self, -1, chars=4)
                self.widgets['raster symmetric'] = wx.CheckBox(self, -1, '&Symmetric')

                ## auto raster
                self.autobut = wx.Button(self, -1, 'Calculate spacing and angle using the following parameters:')
                self.Bind(wx.EVT_BUTTON, self.onAutoButton, self.autobut)
                self.widgets['raster preset'] = PresetChoice(self, -1)
                presets = self.node.presetsclient.getPresetNames()
                self.widgets['raster preset'].setChoices(presets)
                self.widgets['raster overlap'] = FloatEntry(self, -1, chars=8)


                szauto = wx.GridBagSizer(5, 5)
                szauto.Add(self.autobut, (0, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)
                label = wx.StaticText(self, -1, 'Raster Preset')
                szauto.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szauto.Add(self.widgets['raster preset'], (1, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                label = wx.StaticText(self, -1, 'Overlap percent')
                szauto.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szauto.Add(self.widgets['raster overlap'], (2, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)

                movetypes = self.node.calclients.keys()
                self.widgets['raster movetype'] = Choice(self, -1, choices=movetypes)
                label = wx.StaticText(self, -1, 'Move Type')
                szauto.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szauto.Add(self.widgets['raster movetype'], (3, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                sbszauto.Add(szauto, 1, wx.EXPAND|wx.ALL,5)

                szraster = wx.GridBagSizer(5, 5)

                label = wx.StaticText(self, -1, 'XY symmetry:')
                szraster.Add(label, (0,0), (1,1) , wx.ALIGN_CENTER_VERTICAL)

                self.Bind(wx.EVT_CHECKBOX, self.onToggleSymm, self.widgets['raster symmetric'])
                szraster.Add(self.widgets['raster symmetric'], (0,1), (1,2) , wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
                self.widgets['raster symmetric'].SetMinSize((120,30))

                label = wx.StaticText(self, -1, 'Spacing (x,y):')
                szraster.Add(label, (1,0), (1,1), wx.ALIGN_CENTER_VERTICAL)
                szraster.Add(self.widgets['raster spacing'], (1,1), (1,1), 
                        wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
                szraster.Add(self.widgets['raster spacing asymm'], (1,2), (1,1), 
                        wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)

                label = wx.StaticText(self, -1, 'Num points (x,y):')
                szraster.Add(label, (2,0), (1,1), wx.ALIGN_CENTER_VERTICAL)
                szraster.Add(self.widgets['raster limit'], (2,1), (1,1),
                        wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
                szraster.Add(self.widgets['raster limit asymm'], (2,2), (1,1),
                        wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
                szraster.AddGrowableCol(1)

                label = wx.StaticText(self, -1, 'Angle:')
                szraster.Add(label, (3,0), (1,1), wx.ALIGN_CENTER_VERTICAL)
                szraster.Add(self.widgets['raster angle'], (3,1), (1,2), 
                        wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER_HORIZONTAL)

                szraster.Add(self.widgets['raster center on image'], (4,0), (1,3), 
                        wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER_HORIZONTAL)
                self.Bind(wx.EVT_CHECKBOX, self.onCheckBox, self.widgets['raster center on image'])

                label = wx.StaticText(self, -1, 'Center on x,y:')
                szraster.Add(label, (5,0), (1,1), wx.ALIGN_CENTER_VERTICAL)
                szraster.Add(self.widgets['raster center x'], (5,1), (1,1), wx.ALIGN_CENTER_VERTICAL)
                szraster.Add(self.widgets['raster center y'], (5,2), (1,1), wx.ALIGN_CENTER_VERTICAL)

                if self.widgets['raster center on image'].GetValue():
                        self.widgets['raster center x'].Enable(False)
                        self.widgets['raster center y'].Enable(False)

                if self.widgets['raster symmetric'].GetValue():
                        self.widgets['raster spacing asymm'].Enable(False)
                        self.widgets['raster limit asymm'].Enable(False)
                        self.widgets['raster spacing asymm'].SetValue(None)
                        self.widgets['raster limit asymm'].SetValue(None)
                else:
                        self.widgets['raster spacing asymm'].Enable(True)
                        self.widgets['raster limit asymm'].Enable(True)         

                sbszraster.Add(szraster, 1, wx.EXPAND|wx.ALL, 5)

                self.btest = wx.Button(self, -1, 'Test')
                szbutton = wx.GridBagSizer(5, 5)
                szbutton.Add(self.btest, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
                szbutton.AddGrowableCol(0)

                self.Bind(wx.EVT_BUTTON, self.onTestButton, self.btest)

                return [sbszauto,sbszraster, szbutton]
コード例 #11
0
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sb = wx.StaticBox(self, -1, 'Spacing/Angle Calculator')
        sbszauto = wx.StaticBoxSizer(sb, wx.VERTICAL)

        szoptions = wx.GridBagSizer(5, 5)

        ## auto raster
        self.widgets['raster preset'] = PresetChoice(self, -1)
        presets = self.node.presetsclient.getPresetNames()
        self.widgets['raster preset'].setChoices(presets)
        self.widgets['raster overlap'] = FloatEntry(self, -1, chars=8)
        movetypes = self.node.calclients.keys()
        self.widgets['raster movetype'] = Choice(self, -1, choices=movetypes)
        self.autobut = wx.Button(
            self, -1,
            'Calculate spacing and angle using the following parameters:')

        szauto = wx.GridBagSizer(5, 5)
        szauto.Add(self.autobut, (0, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Raster Preset')
        szauto.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szauto.Add(self.widgets['raster preset'], (1, 1), (1, 1),
                   wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Overlap percent')
        szauto.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szauto.Add(self.widgets['raster overlap'], (2, 1), (1, 1),
                   wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Move Type')
        szauto.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szauto.Add(self.widgets['raster movetype'], (3, 1), (1, 1),
                   wx.ALIGN_CENTER_VERTICAL)
        sbszauto.Add(szauto, 1, wx.EXPAND | wx.ALL, 5)

        self.Bind(wx.EVT_BUTTON, self.onAutoButton, self.autobut)
        ## end of auto raster

        szoptions.Add(sbszauto, (0, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Raster Spacing')
        self.widgets['raster spacing'] = FloatEntry(self, -1, chars=8)
        szoptions.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szoptions.Add(self.widgets['raster spacing'], (1, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Raster Angle')
        self.widgets['raster angle'] = FloatEntry(self, -1, chars=8)
        szoptions.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szoptions.Add(self.widgets['raster angle'], (2, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL)

        szbutton = wx.GridBagSizer(5, 5)

        self.bclear = wx.Button(self, -1, 'Clear Targets')
        szbutton.Add(self.bclear, (0, 0), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
        szbutton.AddGrowableCol(0)

        self.Bind(wx.EVT_BUTTON, self.onClearButton, self.bclear)

        self.btest = wx.Button(self, -1, 'Test')
        szbutton.Add(self.btest, (0, 1), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
        szbutton.AddGrowableCol(1)

        self.Bind(wx.EVT_BUTTON, self.onTestButton, self.btest)

        return [szoptions, szbutton]
コード例 #12
0
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sbr = wx.StaticBox(self, -1, 'Target Raster')
        sbszr = wx.StaticBoxSizer(sbr, wx.VERTICAL)
        sbcalc = wx.StaticBox(self, -1, 'Spacing/Angle Calculator')
        sbszcalc = wx.StaticBoxSizer(sbcalc, wx.VERTICAL)
        sblimit = wx.StaticBox(self, -1, 'Limiting Shape')
        sbszlimit = wx.StaticBoxSizer(sblimit, wx.VERTICAL)

        sz = wx.GridBagSizer(5, 10)

        self.widgets['bypass'] = wx.CheckBox(self, -1, 'Bypass Filter')
        targettypes = ['acquisition', 'preview']
        self.widgets['target type'] = wx.Choice(self, -1, choices=targettypes)
        self.widgets['user check'] = wx.CheckBox(
            self, -1, 'Verify filter before submitting')

        self.widgets['raster spacing'] = FloatEntry(self, -1, min=0, chars=6)
        self.widgets['raster angle'] = FloatEntry(self, -1, chars=8)
        self.widgets['raster offset'] = wx.CheckBox(
            self, -1, 'offset by half an image every other row')
        self.widgets['ellipse angle'] = FloatEntry(self, -1, chars=6)
        self.widgets['ellipse a'] = FloatEntry(self, -1, min=0, chars=6)
        self.widgets['ellipse b'] = FloatEntry(self, -1, min=0, chars=6)
        shapetypes = ['ellipse', 'rectangle']
        self.widgets['limiting shape'] = wx.Choice(self,
                                                   -1,
                                                   choices=shapetypes)

        movetypes = self.node.calclients.keys()
        self.widgets['raster movetype'] = Choice(self, -1, choices=movetypes)
        self.autobut = wx.Button(
            self, -1,
            'Calculate spacing and angle using the following parameters:')
        self.Bind(wx.EVT_BUTTON, self.onAutoButton, self.autobut)
        self.widgets['raster preset'] = PresetChoice(self, -1)
        presets = self.node.presetsclient.getPresetNames()
        self.widgets['raster preset'].setChoices(presets)
        self.widgets['raster overlap'] = FloatEntry(self, -1, chars=8)

        ## filter
        sztype = wx.GridBagSizer(0, 5)
        sztype.Add(self.widgets['bypass'], (0, 0), (1, 1),
                   wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Convoluting Target Type')
        sztype.Add(label, (0, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sztype.Add(self.widgets['target type'], (0, 2), (1, 1),
                   wx.ALIGN_CENTER_VERTICAL)
        sztype.Add(self.widgets['user check'], (1, 0), (1, 1),
                   wx.ALIGN_CENTER_VERTICAL)
        sztype.AddGrowableCol(0)
        sz.Add(sztype, (0, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL | wx.EXPAND)

        ## auto raster calculator
        szcalc = wx.GridBagSizer(5, 5)
        szcalc.Add(self.autobut, (0, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Preset for raster')
        szcalc.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szcalc.Add(self.widgets['raster preset'], (1, 1), (1, 1),
                   wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Overlap Percent')
        szcalc.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szcalc.Add(self.widgets['raster overlap'], (2, 1), (1, 1),
                   wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Move Type')
        szcalc.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szcalc.Add(self.widgets['raster movetype'], (3, 1), (1, 1),
                   wx.ALIGN_CENTER_VERTICAL)

        sbszcalc.Add(szcalc, 0, wx.ALIGN_CENTER | wx.ALL, 5)
        sz.Add(sbszcalc, (1, 0), (1, 2), wx.EXPAND)

        ## raster
        szr = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Spacing')
        szr.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szr.Add(self.widgets['raster spacing'], (0, 1), (1, 1),
                wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'pixels in parent image')
        szr.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Angle')
        szr.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szr.Add(self.widgets['raster angle'], (1, 1), (1, 1),
                wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'degrees')
        szr.Add(label, (1, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szr.Add(self.widgets['raster offset'], (2, 0), (1, 3),
                wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Limit the raster by')
        szr.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szr.Add(self.widgets['limiting shape'], (3, 1), (1, 1),
                wx.ALIGN_CENTER_VERTICAL)

        ## raster limiting ellipse
        szlimit = wx.GridBagSizer(0, 5)
        label = wx.StaticText(self, -1, 'Angle to a-axis')
        szlimit.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szlimit.Add(self.widgets['ellipse angle'], (0, 1), (1, 1),
                    wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'degrees')
        szlimit.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, '2 * a-axis (Width)')
        szlimit.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szlimit.Add(self.widgets['ellipse a'], (1, 1), (1, 1),
                    wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'raster spacings')
        szlimit.Add(label, (1, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, '2 * b-axis (Height)')
        szlimit.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szlimit.Add(self.widgets['ellipse b'], (2, 1), (1, 1),
                    wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'raster spacings')
        szlimit.Add(label, (2, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        sbszlimit.Add(szlimit, 0, wx.ALIGN_CENTER | wx.ALL, 5)
        szr.Add(sbszlimit, (4, 0), (1, 3), wx.EXPAND)

        sbszr.Add(szr, 0, wx.ALIGN_CENTER | wx.ALL, 5)
        sz.Add(sbszr, (2, 0), (1, 2), wx.EXPAND)

        #test button
        testbut = wx.Button(self, -1, 'test')
        sz.Add(testbut, (3, 0), (1, 2), wx.ALIGN_RIGHT)
        self.Bind(wx.EVT_BUTTON, self.onTestButton, testbut)

        #sb = wx.StaticBox(self, -1, 'Target Filter')
        #sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)
        #sbsz.Add(sz, 0, wx.ALIGN_CENTER|wx.ALL, 5)

        return [sz]
コード例 #13
0
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sb = wx.StaticBox(self, -1, 'Low Pass Filter (Phase Correlation)')
        sbszlpf = wx.StaticBoxSizer(sb, wx.VERTICAL)
        sb = wx.StaticBox(self, -1, 'Template Correlation')
        sbsztemplate = wx.StaticBoxSizer(sb, wx.VERTICAL)

        self.widgets['template lpf'] = {}
        self.widgets['template lpf']['sigma'] = FloatEntry(self,
                                                           -1,
                                                           min=0.0,
                                                           chars=4)

        szlpf = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Sigma:')
        szlpf.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szlpf.Add(self.widgets['template lpf']['sigma'], (0, 1), (1, 1),
                  wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        szlpf.AddGrowableCol(1)

        sbszlpf.Add(szlpf, 1, wx.EXPAND | wx.ALL, 5)

        self.widgets['template filename'] = Entry(self, -1, chars=12)
        self.widgets['file diameter'] = IntEntry(self, -1, chars=4)
        self.widgets['template diameter'] = IntEntry(self, -1, chars=4)

        self.widgets['template type'] = Choice(self,
                                               -1,
                                               choices=self.node.cortypes)
        self.widgets['template image min'] = FloatEntry(self, -1, chars=4)

        szcor = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Use')
        szcor.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szcor.Add(self.widgets['template type'], (0, 1), (1, 1),
                  wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'correlation')
        szcor.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        szcorlimit = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Fill image values below')
        szcorlimit.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szcorlimit.Add(self.widgets['template image min'], (0, 1), (1, 1),
                       wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'with mean before correlation')
        szcorlimit.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        sztemplate = wx.GridBagSizer(5, 5)
        sztemplate.Add(szcor, (0, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)
        sztemplate.Add(szcorlimit, (1, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Template Filename')
        sztemplate.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sztemplate.Add(self.widgets['template filename'], (2, 1), (1, 1),
                       wx.ALIGN_CENTER | wx.FIXED_MINSIZE)

        label = wx.StaticText(self, -1, 'Original Template Diameter')
        sztemplate.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sztemplate.Add(self.widgets['file diameter'], (3, 1), (1, 1),
                       wx.ALIGN_CENTER | wx.FIXED_MINSIZE)

        label = wx.StaticText(self, -1, 'Final Template Diameter')
        sztemplate.Add(label, (4, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sztemplate.Add(self.widgets['template diameter'], (4, 1), (1, 1),
                       wx.ALIGN_CENTER | wx.FIXED_MINSIZE)

        sbsztemplate.Add(sztemplate, 1, wx.EXPAND | wx.ALL, 5)

        self.btest = wx.Button(self, -1, 'Test')
        szbutton = wx.GridBagSizer(5, 5)
        szbutton.Add(self.btest, (0, 0), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
        szbutton.AddGrowableCol(0)

        self.Bind(wx.EVT_BUTTON, self.onTestButton, self.btest)

        return [sbsztemplate, sbszlpf, szbutton]
コード例 #14
0
        def addSettings(self):
                sbsim = wx.StaticBox(self, -1, 'Simulated Target Loop')
                sbszsim = wx.StaticBoxSizer(sbsim, wx.VERTICAL)
                sbeval = wx.StaticBox(self, -1, 'Evaluate Image Stats')
                sbsz_evaluate = wx.StaticBoxSizer(sbeval, wx.VERTICAL)

                # move type
                movetypes = self.node.getMoveTypes()
                self.widgets['move type'] = Choice(self, -1, choices=movetypes)
                szmovetype = wx.GridBagSizer(5, 5)
                szmovetype.Add(wx.StaticText(self, -1, 'Use'),
                                                                                (0, 0), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL)
                szmovetype.Add(self.widgets['move type'],
                                                                                (0, 1), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL)
                szmovetype.Add(wx.StaticText(self, -1, 'to move to target'),
                                                                                (0, 2), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL)

                # pause time
                self.widgets['pause time'] = FloatEntry(self, -1,
                                                                                                                                                min=0.0,
                                                                                                                                                allownone=False,
                                                                                                                                                chars=4,
                                                                                                                                                value='0.0')
                szpausetime = wx.GridBagSizer(5, 5)
                szpausetime.Add(wx.StaticText(self, -1, 'Wait'),
                                                                (0, 0), (1, 1),
                                                                wx.ALIGN_CENTER_VERTICAL)
                szpausetime.Add(self.widgets['pause time'],
                                                                (0, 1), (1, 1),
                                                                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE)
                szpausetime.Add(wx.StaticText(self, -1, 'seconds before acquiring image'),
                                                                (0, 2), (1, 1),
                                                                wx.ALIGN_CENTER_VERTICAL)

                # preset order
                presets = self.node.presetsclient.getPresetNames()
                self.widgets['preset order'] = EditPresetOrder(self, -1)
                self.widgets['preset order'].setChoices(presets)

                # extra pause between presets
                self.widgets['pause between time'] = FloatEntry(self, -1,
                                                                                                                                                min=0.0,
                                                                                                                                                allownone=False,
                                                                                                                                                chars=4,
                                                                                                                                                value='0.0')
                szpausebtime = wx.GridBagSizer(5, 5)
                szpausebtime.Add(wx.StaticText(self, -1, 'Wait'),
                                                                (0, 0), (1, 1),
                                                                wx.ALIGN_CENTER_VERTICAL)
                szpausebtime.Add(self.widgets['pause between time'],
                                                                (0, 1), (1, 1),
                                                                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE)
                szpausebtime.Add(wx.StaticText(self, -1, 'extra seconds between presets'),
                                                                (0, 2), (1, 1),
                                                                wx.ALIGN_CENTER_VERTICAL)

                # misc. checkboxes
                self.widgets['correct image'] = wx.CheckBox(self, -1, 'Correct image')
                self.widgets['save integer'] = wx.CheckBox(self, -1, 'Float->Integer')
                self.widgets['display image'] = wx.CheckBox(self, -1, 'Display image')
                self.widgets['save image'] = wx.CheckBox(self, -1, 'Save image to database')
                self.widgets['emission off'] = wx.CheckBox(self, -1, 'Turn emission off upon timeout')
                self.widgets['wait for process'] = wx.CheckBox(self, -1,
                                                                                                                                                                'Wait for a node to process the image')
                self.widgets['wait for rejects'] = wx.CheckBox(self, -1,
                                                                                                                                                                'Publish and wait for rejected targets')
                self.widgets['wait for reference'] = wx.CheckBox(self, -1,
                                                                                                                                                                'Publish and wait for the reference target')
                self.widgets['adjust for transform'] = Choice(self, -1, choices=['no', 'one', 'all'])
                self.widgets['use parent mover'] = wx.CheckBox(self, -1, 'Use ancestor image mover in adjustment')
                self.widgets['drift between'] = wx.CheckBox(self, -1, 'Declare drift between targets')
                self.widgets['background'] = wx.CheckBox(self, -1, 'Acquire in the background')
                self.widgets['use parent tilt'] = wx.CheckBox(self, -1, 'Tilt the stage like its parent image')
                self.widgets['adjust time by tilt'] = wx.CheckBox(self, -1, 'Adjust exposure time by tilt')
                self.widgets['reset tilt'] = wx.CheckBox(self, -1, 'Reset stage when done')
                if not hide_incomplete:
                        self.widgets['correct image shift coma'] = wx.CheckBox(self, -1, 'Correct image shift coma effect')
                self.widgets['target offset row'] = IntEntry(self, -1, chars=6)
                self.widgets['target offset col'] = IntEntry(self, -1, chars=6)

                self.widgets['park after target'] = wx.CheckBox(self, -1, 'Park after every target acquired')
                self.widgets['park after list'] = wx.CheckBox(self, -1, 'Park after every target list')

                # simulate loop settings
                self.widgets['wait time'] = FloatEntry(self, -1, min=0.0, chars=6)
                self.widgets['iterations'] = IntEntry(self, -1, min=0.0, chars=6)

                szwaittime = wx.GridBagSizer(5, 5)
                label = wx.StaticText(self, -1, 'Wait Time:')
                szwaittime.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szwaittime.Add(self.widgets['wait time'], (0, 1), (1, 1),
                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE)
                label = wx.StaticText(self, -1, 'seconds')
                szwaittime.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

                sziterations = wx.GridBagSizer(5, 5)
                label = wx.StaticText(self, -1, 'Iterations:')
                sziterations.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                sziterations.Add(self.widgets['iterations'], (0, 1), (1, 1),
                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE)

                szsim = wx.GridBagSizer(5, 5)
                szsim.Add(szwaittime, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szsim.Add(sziterations, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)

                sbszsim.Add(szsim, 0, wx.ALIGN_CENTER)

                szmover = wx.GridBagSizer(5, 5)
                label = wx.StaticText(self, -1, 'Mover:')
                self.widgets['mover'] = Choice(self, -1, choices=['presets manager','navigator'])
                szmover.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szmover.Add(self.widgets['mover'], (0, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE)

                szmoveprec = wx.GridBagSizer(5, 5)
                label = wx.StaticText(self, -1, 'Navigator Target Tolerance (m):')
                self.widgets['move precision'] = FloatEntry(self, -1, min=0.0, chars=6)
                szmoveprec.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szmoveprec.Add(self.widgets['move precision'], (0, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE)
                label = wx.StaticText(self, -1, 'Navigator Acceptable Tolerance (m):')
                self.widgets['accept precision'] = FloatEntry(self, -1, min=0.0, chars=6)
                szmoveprec.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szmoveprec.Add(self.widgets['accept precision'], (1, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE)
                self.widgets['final image shift'] = wx.CheckBox(self, -1, 'Final Image Shift')
                szmoveprec.Add(self.widgets['final image shift'], (2,0), (1,2))

                sz_target_type = wx.GridBagSizer(5, 5)
                label = wx.StaticText(self, -1, 'Process')
                sz_target_type.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                self.widgets['process target type'] = Choice(self, -1, choices=leginon.targethandler.target_types)
                sz_target_type.Add(self.widgets['process target type'], (0, 1), (1, 1), wx.ALIGN_CENTER)
                label = wx.StaticText(self, -1, 'targets')
                sz_target_type.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

                # settings sizer
                sz = wx.GridBagSizer(5, 5)
                sz_save = wx.GridBagSizer(0, 0)
                sz_save.Add(self.widgets['save image'], (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                sz_save.Add(self.widgets['save integer'], (1, 0), (1, 1),
                                                wx.ALIGN_CENTER_VERTICAL)
                sz_save.Add(self.widgets['correct image'], (2, 0), (1, 1),
                                                wx.ALIGN_CENTER_VERTICAL)
                sz_save.Add(self.widgets['display image'], (3, 0), (1, 1),
                                                wx.ALIGN_CENTER_VERTICAL)
                sz_emission = wx.GridBagSizer(0, 0)
                sz_emission.Add(self.widgets['emission off'], (0, 0), (1, 1),
                                                wx.ALIGN_CENTER_VERTICAL)
                sz_tilt = wx.GridBagSizer(0, 0)
                sz_tilt.Add(self.widgets['adjust time by tilt'], (0, 0), (1, 1),
                                                wx.ALIGN_CENTER_VERTICAL)
                sz_tilt.Add(self.widgets['use parent tilt'], (1, 0), (1, 1),
                                                wx.ALIGN_CENTER_VERTICAL)
                sz_tilt.Add(self.widgets['reset tilt'], (2, 0), (1, 1),
                                                wx.ALIGN_CENTER_VERTICAL)
                if not hide_incomplete:
                        sz_tilt.Add(self.widgets['correct image shift coma'], (3, 0), (1, 1),
                                                wx.ALIGN_CENTER_VERTICAL)

                self.widgets['bad stats response'] = Choice(self, -1, choices=['Continue', 'Pause', 'Abort one','Abort all'])
                self.widgets['low mean'] = FloatEntry(self, -1, chars=4)
                self.widgets['high mean'] = FloatEntry(self, -1, chars=4)
                passwordbut = wx.Button(self, -1, 'Enter Email Password')
                self.Bind(wx.EVT_BUTTON, self.onEnterPassword, passwordbut)

                sz_response = wx.BoxSizer(wx.HORIZONTAL)
                sz_response.Add(self.widgets['bad stats response'])
                sz_response.Add(wx.StaticText(self, -1, ' target list(s)'))
                sz_evaluate = wx.BoxSizer(wx.HORIZONTAL)
                sz_evaluate.Add(wx.StaticText(self, -1, 'between'))
                sz_evaluate.Add(self.widgets['low mean'])
                sz_evaluate.Add(wx.StaticText(self, -1, 'and'))
                sz_evaluate.Add(self.widgets['high mean'])
        
                sbsz_evaluate.Add(sz_response, 0, wx.ALIGN_CENTER|wx.ALL, 0)
                sbsz_evaluate.Add(wx.StaticText(self, -1, 'when image mean is NOT'), 0, wx.ALIGN_LEFT)
                sbsz_evaluate.Add(sz_evaluate, 0, wx.ALIGN_CENTER|wx.ALL,0)
                sbsz_evaluate.Add(passwordbut, 0, wx.ALIGN_CENTER|wx.ALL, 3)

                sz_transform = wx.GridBagSizer(0, 0)
                label = wx.StaticText(self, -1, 'Adjust target using')
                sz_transform.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                sz_transform.Add(self.widgets['adjust for transform'], (0, 1), (1, 1),
                                                wx.ALIGN_CENTER_VERTICAL)
                label = wx.StaticText(self, -1, 'ancestor(s)')
                sz_transform.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                sz_transform.Add(self.widgets['use parent mover'],(1,0),(1,3))
                sz_offset = wx.BoxSizer(wx.HORIZONTAL)
                sz_offset.Add(wx.StaticText(self, -1, 'offset target x:'))
                sz_offset.Add(self.widgets['target offset col'])
                sz_offset.Add(wx.StaticText(self, -1, 'y:'))
                sz_offset.Add(self.widgets['target offset row'])
                sz_misc = wx.BoxSizer(wx.VERTICAL)
                sz_misc.Add(self.widgets['wait for process'])
                sz_misc.Add(self.widgets['wait for rejects'])
                sz_misc.Add(self.widgets['wait for reference'])
                sz_misc.Add(sz_transform)
                sz_misc.Add(sz_offset)
                sz_misc.Add(self.widgets['drift between'])
                sz_misc.Add(self.widgets['background'])
                sz_misc.Add(self.widgets['park after target'])
                sz_misc.Add(self.widgets['park after list'])
                sz_misc.Add(sbsz_evaluate)

                szright = wx.GridBagSizer(3, 3)
                szright.Add(self.widgets['preset order'], (0, 0), (4, 1), wx.ALIGN_CENTER)
                szright.Add(szpausebtime, (4,0), (1,1), wx.ALIGN_CENTER_VERTICAL)
                szright.Add(szmover, (5,0), (1,1), wx.ALIGN_CENTER_VERTICAL)
                szright.Add(szmoveprec, (6,0), (1,1), wx.ALIGN_CENTER_VERTICAL)
                szright.Add(sz_target_type, (7,0), (1,1), wx.ALIGN_CENTER_VERTICAL)
                sz.Add(szmovetype, (0, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)
                sz.Add(szpausetime, (1, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)
                sz.Add(sz_save, (2,0), (2,1), wx.ALIGN_CENTER_VERTICAL)
                sz.Add(sz_emission, (4,0), (1,1), wx.ALIGN_CENTER_VERTICAL)
                sz.Add(sz_tilt, (5,0), (2,1), wx.ALIGN_TOP)
                sz.Add(sbszsim, (7,0), (2,1), wx.ALIGN_BOTTOM)
                sz.Add(sz_misc, (2,1), (7,1), wx.ALIGN_TOP)
                sz.Add(szright, (0,2),(9,1), wx.ALIGN_TOP)
                return sz
コード例 #15
0
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sb = wx.StaticBox(self, -1, 'Lattice Fitting')
        sbszlattice = wx.StaticBoxSizer(sb, wx.VERTICAL)
        sb = wx.StaticBox(self, -1, 'Hole Statistics')
        sbszstats = wx.StaticBoxSizer(sb, wx.VERTICAL)

        self.widgets['lattice spacing'] = FloatEntry(self, -1, chars=6)
        self.widgets['lattice tolerance'] = FloatEntry(self, -1, chars=6)
        self.widgets['lattice hole radius'] = FloatEntry(self, -1, chars=6)
        self.widgets['lattice zero thickness'] = FloatEntry(self, -1, chars=6)
        extendlabel = wx.StaticText(self, -1, 'Extend Lattice')
        self.widgets['lattice extend'] = Choice(self,
                                                -1,
                                                choices=self.node.extendtypes)

        szlattice = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Spacing:')
        szlattice.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szlattice.Add(
            self.widgets['lattice spacing'], (0, 1), (1, 1),
            wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)

        label = wx.StaticText(self, -1, 'Tolerance:')
        szlattice.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szlattice.Add(
            self.widgets['lattice tolerance'], (1, 1), (1, 1),
            wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)

        szlattice.Add(extendlabel, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szlattice.Add(self.widgets['lattice extend'], (2, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE)

        szlattice.AddGrowableCol(1)

        sbszlattice.Add(szlattice, 1, wx.EXPAND | wx.ALL, 5)

        szstats = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Radius:')
        szstats.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szstats.Add(
            self.widgets['lattice hole radius'], (0, 1), (1, 1),
            wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'Reference Intensity:')
        szstats.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szstats.Add(
            self.widgets['lattice zero thickness'], (1, 1), (1, 1),
            wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        szstats.AddGrowableCol(1)

        sbszstats.Add(szstats, 1, wx.EXPAND | wx.ALL, 5)

        self.btest = wx.Button(self, -1, 'Test')
        szbutton = wx.GridBagSizer(5, 5)
        szbutton.Add(self.btest, (0, 0), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
        szbutton.AddGrowableCol(0)

        self.Bind(wx.EVT_BUTTON, self.onTestButton, self.btest)

        return [sbszlattice, sbszstats, szbutton]
コード例 #16
0
        def initialize(self):
                leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
                sb = wx.StaticBox(self, -1, 'Ice Thickness Threshold')
                sbszice = wx.StaticBoxSizer(sb, wx.VERTICAL)
                sb = wx.StaticBox(self, -1, 'Focus Template Thickness')
                sbszftt = wx.StaticBoxSizer(sb, wx.VERTICAL)
                sb = wx.StaticBox(self, -1, 'Target Template')
                sbsztt = wx.StaticBoxSizer(sb, wx.VERTICAL)

                self.widgets['ice min mean'] = FloatEntry(self, -1, chars=6)
                self.widgets['ice max mean'] = FloatEntry(self, -1, chars=6)
                self.widgets['ice max std'] = FloatEntry(self, -1, chars=6)
                self.widgets['focus hole'] = Choice(self, -1, choices=self.node.focustypes)
                self.widgets['target template'] = wx.CheckBox(self, -1,
                        'Use target template')
                self.widgets['focus template'] = leginon.gui.wx.TargetTemplate.Panel(self,
                        'Focus Target Template', autofill=True)
                self.widgets['acquisition template'] = leginon.gui.wx.TargetTemplate.Panel(self,
                        'Acquisition Target Template', autofill=True)
                self.widgets['focus template thickness'] = wx.CheckBox(self, -1,
                        'Use focus template thickness and limit to one focus target')
                self.widgets['focus stats radius'] = IntEntry(self, -1, chars=6)
                self.widgets['focus min mean thickness'] = FloatEntry(self, -1, chars=6)
                self.widgets['focus max mean thickness'] = FloatEntry(self, -1, chars=6)
                self.widgets['focus max stdev thickness'] = FloatEntry(self, -1, chars=6)

                szice = wx.GridBagSizer(5, 5)
                label = wx.StaticText(self, -1, 'Min. mean:')
                szice.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szice.Add(self.widgets['ice min mean'], (0, 1), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
                label = wx.StaticText(self, -1, 'Max. mean:')
                szice.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szice.Add(self.widgets['ice max mean'], (1, 1), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
                label = wx.StaticText(self, -1, 'Max. stdev.:')
                szice.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szice.Add(self.widgets['ice max std'], (2, 1), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
                label = wx.StaticText(self, -1, 'Focus hole selection:')
                szice.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szice.Add(self.widgets['focus hole'], (3, 1), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
                szice.AddGrowableCol(1)

                sbszice.Add(szice, 1, wx.EXPAND|wx.ALL, 5)

                szftt = wx.GridBagSizer(5, 5)
                szftt.Add(self.widgets['focus template thickness'], (0, 0), (1, 2),
                                                                                wx.ALIGN_CENTER_VERTICAL)
                label = wx.StaticText(self, -1, 'Stats. radius:')
                szftt.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szftt.Add(self.widgets['focus stats radius'], (1, 1), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
                label = wx.StaticText(self, -1, 'Min. mean thickness:')
                szftt.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szftt.Add(self.widgets['focus min mean thickness'], (2, 1), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
                label = wx.StaticText(self, -1, 'Max. mean thickness:')
                szftt.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szftt.Add(self.widgets['focus max mean thickness'], (3, 1), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
                label = wx.StaticText(self, -1, 'Max. std. thickness:')
                szftt.Add(label, (4, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                szftt.Add(self.widgets['focus max stdev thickness'], (4, 1), (1, 1),
                                                                                wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
                szftt.AddGrowableCol(1)

                sbszftt.Add(szftt, 1, wx.EXPAND|wx.ALL, 5)

                sztt = wx.GridBagSizer(5, 5)
                sztt.Add(self.widgets['target template'], (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
                sztt.Add(sbszftt, (1, 0), (3, 1), wx.ALIGN_CENTER)
                sztt.Add(self.widgets['focus template'], (0, 1), (2, 1), wx.ALIGN_CENTER|wx.EXPAND)
                sztt.Add(self.widgets['acquisition template'], (2, 1), (2, 1), wx.ALIGN_CENTER|wx.EXPAND)
                sztt.AddGrowableCol(1)
                sztt.AddGrowableRow(0)
                sztt.AddGrowableRow(2)

                sbsztt.Add(sztt, 1, wx.EXPAND|wx.ALL, 5)

                self.bice = wx.Button(self, -1, '&Test targeting')
                self.cice = wx.Button(self, -1, '&Clear targets')
                szbutton = wx.GridBagSizer(5, 5)
                szbutton.Add(self.cice, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT)
                szbutton.Add(self.bice, (0, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
                szbutton.AddGrowableCol(1)
                
                self.Bind(wx.EVT_BUTTON, self.onTestButton, self.bice)
                self.Bind(wx.EVT_BUTTON, self.onClearButton, self.cice)

                self.growrows = [False, True, False,]

                return [sbszice, sbsztt, szbutton]
コード例 #17
0
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)

        szoptions = wx.GridBagSizer(5, 5)

        self.widgets['autofinder'] = wx.CheckBox(self, -1,
                                                 'Enable auto targeting')
        szoptions.Add(self.widgets['autofinder'], (0, 0), (1, 2),
                      wx.ALIGN_CENTER_VERTICAL)

        choices = [
            'Limit by Sections', 'Sections Only', 'Tissue only',
            'Regions from Centers'
        ]
        self.widgets['find section options'] = Choice(self,
                                                      -1,
                                                      choices=choices)
        label = wx.StaticText(self, -1, 'Finding Mode')
        szoptions.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szoptions.Add(self.widgets['find section options'], (1, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1,
                              'Initial Minimum Region Area (% of tile area)')
        self.widgets['min region area'] = FloatEntry(self, -1, chars=8)
        szoptions.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szoptions.Add(self.widgets['min region area'], (2, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Maximum Region Area (% of tile area)')
        self.widgets['max region area'] = FloatEntry(self, -1, chars=8)
        szoptions.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szoptions.Add(self.widgets['max region area'], (3, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Vertex Evolution Limit')
        self.widgets['ve limit'] = FloatEntry(self, -1, chars=8)
        szoptions.Add(label, (4, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szoptions.Add(self.widgets['ve limit'], (4, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Region Min Threshold')
        self.widgets['min threshold'] = FloatEntry(self, -1, chars=8)
        szoptions.Add(label, (5, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szoptions.Add(self.widgets['min threshold'], (5, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Section/Background Threshold')
        self.widgets['max threshold'] = FloatEntry(self, -1, chars=8)
        szoptions.Add(label, (6, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szoptions.Add(self.widgets['max threshold'], (6, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Max Ellipse Axis Ratio')
        self.widgets['axis ratio'] = FloatEntry(self, -1, chars=8)
        szoptions.Add(label, (7, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szoptions.Add(self.widgets['axis ratio'], (7, 1), (1, 1),
                      wx.ALIGN_CENTER_VERTICAL)

        szsections = wx.GridBagSizer(6, 6)

        label = wx.StaticText(self, -1, 'Per-Section Area (% of tile area)')
        self.widgets['section area'] = FloatEntry(self, -1, chars=8)
        szsections.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szsections.Add(self.widgets['section area'], (0, 1), (1, 1),
                       wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Maximum Number of Section per Grid')
        self.widgets['max sections'] = IntEntry(self, -1, min=1, chars=4)
        szsections.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szsections.Add(self.widgets['max sections'], (1, 1), (1, 1),
                       wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(
            self, -1, 'Per-Section Area Modification Thershold (% of current)')
        self.widgets['adjust section area'] = FloatEntry(self, -1, chars=8)
        szsections.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szsections.Add(self.widgets['adjust section area'], (2, 1), (1, 1),
                       wx.ALIGN_CENTER_VERTICAL)

        szbutton = wx.GridBagSizer(7, 7)
        self.bclear = wx.Button(self, -1, 'Clear Regions')
        szbutton.Add(self.bclear, (0, 0), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
        szbutton.AddGrowableCol(0)

        self.Bind(wx.EVT_BUTTON, self.onClearButton, self.bclear)

        self.btest = wx.Button(self, -1, 'Test')
        szbutton.Add(self.btest, (0, 1), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
        szbutton.AddGrowableCol(1)

        self.Bind(wx.EVT_BUTTON, self.onTestButton, self.btest)
        return [szoptions, szsections, szbutton]
コード例 #18
0
 def initParameterChoice(self):
         self.parameter_choice = Choice(self.toolbar, -1, choices=['Beam Tilt X','Beam Tilt Y','Defocus', 'Stage Z'])
         par = 'Beam Tilt X'
         self.parameter_choice.SetStringSelection(par)
         threading.Thread(target=self.node.setParameterChoice, args=(par,)).start()
コード例 #19
0
    def initialize(self):
        sizers = leginon.gui.wx.Acquisition.ScrolledSettings.initialize(self)
        sb = wx.StaticBox(self, -1, 'Tilt Imaging and Correlation')
        sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)

        sizer = wx.GridBagSizer(5, 5)
        self.widgets['tableau type'] = Choice(self,
                                              -1,
                                              choices=self.node.tableau_types)
        label = wx.StaticText(self, -1, 'Tableau Type (method-display):')
        sizer.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.widgets['tableau type'], (0, 1), (1, 1),
                  wx.ALIGN_CENTER)

        self.widgets['beam tilt'] = FloatEntry(self,
                                               -1,
                                               min=0.0,
                                               allownone=False,
                                               chars=6,
                                               value='0.005')
        bt_sizer = wx.GridBagSizer(5, 5)
        bt_sizer.Add(self.widgets['beam tilt'], (0, 0), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE)
        bt_sizer.Add(wx.StaticText(self, -1, 'radian'), (0, 1), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Beam Tilt:')
        sizer.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(bt_sizer, (1, 1), (1, 1), wx.ALIGN_CENTER)

        self.widgets['sites'] = IntEntry(self,
                                         -1,
                                         min=0,
                                         allownone=False,
                                         chars=4,
                                         value='0')
        label = wx.StaticText(self, -1, 'Number of tilt directions:')
        sizer.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.widgets['sites'], (2, 1), (1, 1), wx.ALIGN_CENTER)

        self.widgets['startangle'] = FloatEntry(self,
                                                -1,
                                                min=0,
                                                allownone=False,
                                                chars=4,
                                                value='0')
        label = wx.StaticText(self, -1, 'Start Angle:')
        sizer.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.widgets['startangle'], (3, 1), (1, 1), wx.ALIGN_CENTER)
        label = wx.StaticText(self, -1, 'degrees')
        sizer.Add(label, (3, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        self.widgets['correlation type'] = Choice(
            self, -1, choices=self.node.correlation_types)
        label = wx.StaticText(self, -1, 'Correlation Type:')
        sizer.Add(label, (4, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.widgets['correlation type'], (4, 1), (1, 1),
                  wx.ALIGN_CENTER)

        self.widgets['tableau binning'] = IntEntry(self,
                                                   -1,
                                                   min=1,
                                                   allownone=False,
                                                   chars=4,
                                                   value='2')
        label = wx.StaticText(self, -1, 'Tableau Binning:')
        sizer.Add(label, (5, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.widgets['tableau binning'], (5, 1), (1, 1),
                  wx.ALIGN_CENTER)

        self.widgets['beam tilt count'] = IntEntry(self,
                                                   -1,
                                                   min=1,
                                                   allownone=False,
                                                   chars=4,
                                                   value='1')
        label = wx.StaticText(self, -1, 'Beam Tilt Count:')
        sizer.Add(label, (6, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.widgets['beam tilt count'], (6, 1), (1, 1),
                  wx.ALIGN_CENTER)

        self.widgets['tableau split'] = IntEntry(self,
                                                 -1,
                                                 min=1,
                                                 allownone=False,
                                                 chars=4,
                                                 value='8')
        label = wx.StaticText(self, -1, 'Tableau Split:')
        sizer.Add(label, (7, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.widgets['tableau split'], (7, 1), (1, 1),
                  wx.ALIGN_CENTER)

        sbsz.Add(sizer, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5)
        self.widgets['tableau type'].Bind(wx.EVT_CHOICE,
                                          self.onTableauTypeChoice)

        return sizers + [sbsz]