Exemple #1
0
    def __init__(self, parent):
        wx.Dialog.__init__(self, parent.GetParent(), -1, 'Edit Plan')
        self.parent = parent
        self.plan = parent.plan

        strows = wx.StaticText(self, -1, 'Bad rows:')
        stcolumns = wx.StaticText(self, -1, 'Bad columns:')
        stpixels = wx.StaticText(self, -1, 'Bad Pixel (x,y):')

        pixels = ', '.join(map(str, self.plan['pixels']))
        rows = ', '.join(map(str, self.plan['rows']))
        columns = ', '.join(map(str, self.plan['columns']))

        self.tcrows = wx.TextCtrl(self, -1, rows)
        self.tccolumns = wx.TextCtrl(self, -1, columns)
        self.tcpixels = wx.TextCtrl(self, -1, pixels)

        self.cdespike = wx.CheckBox(self, -1, 'Despike images')
        self.cdespike_size = IntEntry(self, -1, min=1, chars=4)
        self.cdespike_threshold = FloatEntry(self, -1, min=0, chars=4)
        self.cdespike.SetValue(self.plan['despike'])
        self.cdespike_size.SetValue(self.plan['despike size'])
        self.cdespike_threshold.SetValue(self.plan['despike threshold'])

        szdespike = wx.GridBagSizer(5, 5)
        szdespike.Add(self.cdespike, (0, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Neighborhood size:')
        szdespike.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szdespike.Add(
            self.cdespike_size, (1, 1), (1, 1),
            wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE)
        label = wx.StaticText(self, -1, 'Threshold:')
        szdespike.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szdespike.Add(
            self.cdespike_threshold, (2, 1), (1, 1),
            wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE)
        szdespike.AddGrowableCol(1)

        bsave = wx.Button(self, wx.ID_OK, 'Save')
        bcancel = wx.Button(self, wx.ID_CANCEL, 'Cancel')
        szbutton = wx.GridBagSizer(5, 5)
        szbutton.Add(bsave, (0, 0), (1, 1), wx.ALIGN_CENTER)
        szbutton.Add(bcancel, (0, 1), (1, 1), wx.ALIGN_CENTER)

        szplan = wx.GridBagSizer(5, 5)
        szplan.Add(strows, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szplan.Add(self.tcrows, (0, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szplan.Add(stcolumns, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szplan.Add(self.tccolumns, (1, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szplan.Add(stpixels, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szplan.Add(self.tcpixels, (2, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szplan.Add(szdespike, (3, 0), (1, 2), wx.EXPAND)

        sz = wx.GridBagSizer(5, 5)
        sz.Add(szplan, (0, 0), (1, 1), wx.ALIGN_RIGHT | wx.ALL, border=5)
        sz.Add(szbutton, (1, 0), (1, 1), wx.ALIGN_RIGHT | wx.ALL, border=5)

        self.SetSizerAndFit(sz)

        self.Bind(wx.EVT_BUTTON, self.onSave, bsave)
Exemple #2
0
	def initialize(self):
		leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
		sb = wx.StaticBox(self, -1, 'Blob finding')
		sbszblobs = wx.StaticBoxSizer(sb, wx.VERTICAL)

		self.widgets['blobs border'] = IntEntry(self, -1, min=0, chars=6)
		self.widgets['blobs max'] = IntEntry(self, -1, min=0, chars=6)
		self.widgets['blobs max size'] = IntEntry(self, -1, min=0, chars=6)

		szblobs = wx.GridBagSizer(5, 5)
		label = wx.StaticText(self, -1, 'Border:')
		szblobs.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		szblobs.Add(self.widgets['blobs border'], (0, 1), (1, 1),
										wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
		label = wx.StaticText(self, -1, 'Max. blobs:')
		szblobs.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		szblobs.Add(self.widgets['blobs max'], (1, 1), (1, 1),
										wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
		label = wx.StaticText(self, -1, 'Max. blob size:')
		szblobs.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		szblobs.Add(self.widgets['blobs max size'], (2, 1), (1, 1),
										wx.ALIGN_CENTER_VERTICAL|wx.FIXED_MINSIZE|wx.ALIGN_RIGHT)
		szblobs.AddGrowableCol(1)

		sbszblobs.Add(szblobs, 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 [sbszblobs, szbutton]
	def addRCTSettings(self):
		sb = wx.StaticBox(self, -1, 'RCT Options')
		sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)

		sizer = wx.GridBagSizer(5, 4)
		bordersize = 3

		label = wx.StaticText(self, -1, 'List of Tilts to Collect (in degrees)')
		sizer.Add(label, (0, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)
		self.widgets['tilts'] = Entry(self, -1, chars=15, style=wx.ALIGN_RIGHT)
		sizer.Add(self.widgets['tilts'], (0,2), (1,2), wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, bordersize)

		label = wx.StaticText(self, -1, 'Maximum Tilt Stepsize (in degrees)')
		sizer.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		self.widgets['stepsize'] = IntEntry(self, -1, chars=2, value='15')
		sizer.Add(self.widgets['stepsize'], (1,1), (1,1), wx.ALL|wx.ALIGN_CENTER_VERTICAL, bordersize)

		label = wx.StaticText(self, -1, 'Pause Between Steps')
		sizer.Add(label, (1, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		self.widgets['pause'] = FloatEntry(self, -1, chars=2, value='1')
		sizer.Add(self.widgets['pause'], (1,3), (1,1), wx.ALL|wx.ALIGN_CENTER_VERTICAL, bordersize)

		'''
		label = wx.StaticText(self, -1, 'Min Feature Size')
		sizer.Add(label, (2,0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		self.widgets['minsize'] = FloatEntry(self, -1, chars=6, value='0.0')
		#sizer.Add(self.widgets['minsize'], (2,1), (1,1), wx.ALL|wx.ALIGN_CENTER_VERTICAL, bordersize)

		label = wx.StaticText(self, -1, 'Max Feature Size')
		sizer.Add(label, (2, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		self.widgets['maxsize'] = FloatEntry(self, -1, chars=6, value='0.0')
		sizer.Add(self.widgets['maxsize'], (2,3), (1,1), wx.ALL|wx.ALIGN_CENTER_VERTICAL, bordersize)

		label = wx.StaticText(self, -1, 'Median Filter (pixels)')
		sizer.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		self.widgets['medfilt'] = IntEntry(self, -1, chars=2, value='0')
		sizer.Add(self.widgets['medfilt'], (3,1), (1,1), wx.ALL|wx.ALIGN_CENTER_VERTICAL, bordersize)
		'''

		label = wx.StaticText(self, -1, 'LowPass Filter (pixels)')
		sizer.Add(label, (3, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		self.widgets['lowfilt'] = IntEntry(self, -1, chars=2, value='0')
		sizer.Add(self.widgets['lowfilt'], (3,3), (1,1), wx.ALL|wx.ALIGN_CENTER_VERTICAL, bordersize)

		label = wx.StaticText(self, -1, 'Drift threshold')
		sizer.Add(label, (4, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		self.widgets['drift threshold'] = FloatEntry(self, -1, chars=6, value='0.0')
		sizer.Add(self.widgets['drift threshold'], (4,1), (1,1), wx.ALL|wx.ALIGN_CENTER_VERTICAL, bordersize)

		label = wx.StaticText(self, -1, 'Drift preset')
		sizer.Add(label, (4, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		presets = self.node.presetsclient.getPresetNames()
		self.widgets['drift preset'] = PresetChoice(self, -1)
		self.widgets['drift preset'].setChoices(presets)
		sizer.Add(self.widgets['drift preset'], (4,3), (1,1), wx.ALL|wx.ALIGN_CENTER_VERTICAL, bordersize)

		sbsz.Add(sizer, 0, wx.ALIGN_CENTER|wx.ALL, 2)

		return sbsz
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sb = wx.StaticBox(self, -1, 'Blob Finding')
        sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)
        self.widgets['threshold'] = FloatEntry(self, -1, min=0, chars=6)
        self.widgets['blobs'] = {}
        self.widgets['blobs']['border'] = IntEntry(self, -1, min=0, chars=6)
        self.widgets['blobs']['max'] = IntEntry(self, -1, min=0, chars=6)
        self.widgets['blobs']['min size'] = IntEntry(self, -1, min=0, chars=6)
        self.widgets['blobs']['max size'] = IntEntry(self, -1, min=0, chars=6)
        self.widgets['blobs']['min mean'] = FloatEntry(self, -1, chars=6)
        self.widgets['blobs']['max mean'] = FloatEntry(self, -1, chars=6)
        self.widgets['blobs']['min stdev'] = FloatEntry(self, -1, chars=6)
        self.widgets['blobs']['max stdev'] = FloatEntry(self, -1, chars=6)

        szrange = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Min.')
        szrange.Add(label, (0, 1), (1, 1), wx.ALIGN_CENTER)
        label = wx.StaticText(self, -1, 'Max.')
        szrange.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER)
        label = wx.StaticText(self, -1, 'Blob size:')
        szrange.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER)
        szrange.Add(self.widgets['blobs']['min size'], (1, 1), (1, 1),
                    wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        szrange.Add(self.widgets['blobs']['max size'], (1, 2), (1, 1),
                    wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        label = wx.StaticText(self, -1, 'Blob mean:')
        szrange.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER)
        szrange.Add(self.widgets['blobs']['min mean'], (2, 1), (1, 1),
                    wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        szrange.Add(self.widgets['blobs']['max mean'], (2, 2), (1, 1),
                    wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        label = wx.StaticText(self, -1, 'Blob stdev.:')
        szrange.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER)
        szrange.Add(self.widgets['blobs']['min stdev'], (3, 1), (1, 1),
                    wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        szrange.Add(self.widgets['blobs']['max stdev'], (3, 2), (1, 1),
                    wx.ALIGN_CENTER | wx.FIXED_MINSIZE)

        sz = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Threshold:')
        sz.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['threshold'], (0, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'Border:')
        sz.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['blobs']['border'], (1, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'Max. number of blobs:')
        sz.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['blobs']['max'], (2, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        sz.Add(szrange, (3, 0), (1, 2), wx.ALIGN_CENTER)
        sz.AddGrowableCol(1)

        sbsz.Add(sz, 1, wx.EXPAND | wx.ALL, 5)

        return [sbsz]
Exemple #5
0
class Dialog(wx.Dialog):
    def __init__(self, parent, title, ring=None):
        wx.Dialog.__init__(self, parent, -1, title)
        sbszring = wx.StaticBoxSizer(wx.StaticBox(self, -1, 'Ring'),
                                     wx.VERTICAL)

        self.ieinside = IntEntry(self, -1, min=0, chars=4)
        self.ieoutside = IntEntry(self, -1, min=0, chars=4)

        if ring is not None:
            if not parent.validate(ring):
                raise ValueError
            inside, outside = ring
            self.ieinside.SetValue(inside)
            self.ieoutside.SetValue(outside)

        szring = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Inside')
        szring.Add(label, (0, 1), (1, 1), wx.ALIGN_CENTER)
        label = wx.StaticText(self, -1, 'Outside')
        szring.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER)
        label = wx.StaticText(self, -1, 'Diameter')
        szring.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szring.Add(self.ieinside, (1, 1), (1, 1),
                   wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        szring.Add(self.ieoutside, (1, 2), (1, 1),
                   wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        label = wx.StaticText(self, -1, 'pixels')
        szring.Add(label, (1, 3), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sbszring.Add(szring, 1, wx.EXPAND | wx.ALL, 5)

        self.bok = wx.Button(self, wx.ID_OK, 'OK')
        self.bcancel = wx.Button(self, wx.ID_CANCEL, 'Cancel')

        szbutton = wx.GridBagSizer(5, 5)
        szbutton.Add(self.bok, (0, 0), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
        szbutton.Add(self.bcancel, (0, 1), (1, 1), wx.ALIGN_CENTER)
        szbutton.AddGrowableCol(0)

        sz = wx.GridBagSizer(5, 5)
        sz.Add(sbszring, (0, 0), (1, 1), wx.EXPAND | wx.ALL, 10)
        sz.Add(szbutton, (1, 0), (1, 1), wx.EXPAND | wx.ALL, 10)

        self.SetSizerAndFit(sz)

        self.Bind(wx.EVT_BUTTON, self.onOK, self.bok)

    def onOK(self, evt):
        ring = (self.ieinside.GetValue(), self.ieoutside.GetValue())
        if not self.GetParent().validate(ring):
            dialog = wx.MessageDialog(self, 'Invalid ring dimensions', 'Error',
                                      wx.OK | wx.ICON_ERROR)
            dialog.ShowModal()
            dialog.Destroy()
        else:
            self.ring = ring
            evt.Skip()
class Dialog(wx.Dialog):
	def __init__(self, parent, title, target=None, targetname='Relative target'):
		wx.Dialog.__init__(self, parent, -1, title)
		sbsztarget = wx.StaticBoxSizer(wx.StaticBox(self, -1, 'Target'),
																		wx.VERTICAL)

		self.targetname = targetname
		self.iex = IntEntry(self, -1, chars=4)
		self.iey = IntEntry(self, -1, chars=4)

		if target is not None:
			if not parent.validate(target):
				raise ValueError
			x, y = target
			self.iex.SetValue(x)
			self.iey.SetValue(y)

		sztarget = wx.GridBagSizer(5, 5)
		label = wx.StaticText(self, -1, 'x')
		sztarget.Add(label, (0, 1), (1, 1), wx.ALIGN_CENTER)
		label = wx.StaticText(self, -1, 'y')
		sztarget.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER)
		label = wx.StaticText(self, -1, self.targetname)
		sztarget.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
		sztarget.Add(self.iex, (1, 1), (1, 1), wx.ALIGN_CENTER|wx.FIXED_MINSIZE)
		sztarget.Add(self.iey, (1, 2), (1, 1), wx.ALIGN_CENTER|wx.FIXED_MINSIZE)
		label = wx.StaticText(self, -1, 'pixels')
		sztarget.Add(label, (1, 3), (1, 1), wx.ALIGN_CENTER_VERTICAL)

		sbsztarget.Add(sztarget, 1, wx.EXPAND|wx.ALL, 5)

		self.bok = wx.Button(self, wx.ID_OK, 'OK')
		self.bcancel = wx.Button(self, wx.ID_CANCEL, 'Cancel')

		szbutton = wx.GridBagSizer(5, 5)
		szbutton.Add(self.bok, (0, 0), (1, 1),
									wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
		szbutton.Add(self.bcancel, (0, 1), (1, 1), wx.ALIGN_CENTER)
		szbutton.AddGrowableCol(0)

		sz = wx.GridBagSizer(5, 5)
		sz.Add(sbsztarget, (0, 0), (1, 1), wx.EXPAND|wx.ALL, 10)
		sz.Add(szbutton, (1, 0), (1, 1), wx.EXPAND|wx.ALL, 10)

		self.SetSizerAndFit(sz)

		self.Bind(wx.EVT_BUTTON, self.onOK, self.bok)

	def onOK(self, evt):
		target = (self.iex.GetValue(), self.iey.GetValue())
		if not self.GetParent().validate(target):
			dialog = wx.MessageDialog(self, 'Invalid target dimensions', 'Error',
																wx.OK|wx.ICON_ERROR)
			dialog.ShowModal()
			dialog.Destroy()
		else:
			self.target = target
			evt.Skip()
Exemple #7
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]
 def createOffsetSizer(self):
     # set widgets
     self.widgets['target offset row'] = IntEntry(self, -1, chars=6)
     self.widgets['target offset col'] = IntEntry(self, -1, chars=6)
     # make sizer
     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'])
     return sz_offset
Exemple #9
0
    def __init__(self,
                 parent,
                 title,
                 target=None,
                 targetname='Relative target'):
        wx.Dialog.__init__(self, parent, -1, title)
        sbsztarget = wx.StaticBoxSizer(wx.StaticBox(self, -1, 'Target'),
                                       wx.VERTICAL)

        self.targetname = targetname
        self.iex = IntEntry(self, -1, chars=4)
        self.iey = IntEntry(self, -1, chars=4)

        if target is not None:
            if not parent.validate(target):
                raise ValueError
            x, y = target
            self.iex.SetValue(x)
            self.iey.SetValue(y)

        sztarget = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'x')
        sztarget.Add(label, (0, 1), (1, 1), wx.ALIGN_CENTER)
        label = wx.StaticText(self, -1, 'y')
        sztarget.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER)
        label = wx.StaticText(self, -1, self.targetname)
        sztarget.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sztarget.Add(self.iex, (1, 1), (1, 1),
                     wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        sztarget.Add(self.iey, (1, 2), (1, 1),
                     wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        label = wx.StaticText(self, -1, 'pixels')
        sztarget.Add(label, (1, 3), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        sbsztarget.Add(sztarget, 1, wx.EXPAND | wx.ALL, 5)

        self.bok = wx.Button(self, wx.ID_OK, 'OK')
        self.bcancel = wx.Button(self, wx.ID_CANCEL, 'Cancel')

        szbutton = wx.GridBagSizer(5, 5)
        szbutton.Add(self.bok, (0, 0), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
        szbutton.Add(self.bcancel, (0, 1), (1, 1), wx.ALIGN_CENTER)
        szbutton.AddGrowableCol(0)

        sz = wx.GridBagSizer(5, 5)
        sz.Add(sbsztarget, (0, 0), (1, 1), wx.EXPAND | wx.ALL, 10)
        sz.Add(szbutton, (1, 0), (1, 1), wx.EXPAND | wx.ALL, 10)

        self.SetSizerAndFit(sz)

        self.Bind(wx.EVT_BUTTON, self.onOK, self.bok)
Exemple #10
0
    def addBasicTiltSettings(self):
        sb = wx.StaticBox(self, -1, 'Tilt Options')
        sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)

        sizer = wx.GridBagSizer(5, 4)
        bordersize = 3

        label = wx.StaticText(self, -1, 'Activation Interval')
        sizer.Add(label, (0, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)
        self.widgets['activation interval'] = IntEntry(self,
                                                       -1,
                                                       chars=5,
                                                       style=wx.ALIGN_RIGHT)
        sizer.Add(self.widgets['activation interval'], (0, 2), (1, 2),
                  wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, bordersize)

        label = wx.StaticText(self, -1,
                              'List of Tilts to Collect (in degrees)')
        sizer.Add(label, (1, 0), (1, 2), wx.ALIGN_CENTER_VERTICAL)
        self.widgets['tilts'] = Entry(self, -1, chars=15, style=wx.ALIGN_RIGHT)
        sizer.Add(self.widgets['tilts'], (1, 2), (1, 2),
                  wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, bordersize)

        label = wx.StaticText(self, -1, 'Min Feature Size')
        sizer.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.widgets['minsize'] = FloatEntry(self, -1, chars=6, value='0.0')
        sizer.Add(self.widgets['minsize'], (2, 1), (1, 1),
                  wx.ALL | wx.ALIGN_CENTER_VERTICAL, bordersize)

        label = wx.StaticText(self, -1, 'Max Feature Size')
        sizer.Add(label, (2, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.widgets['maxsize'] = FloatEntry(self, -1, chars=6, value='0.0')
        sizer.Add(self.widgets['maxsize'], (2, 3), (1, 1),
                  wx.ALL | wx.ALIGN_CENTER_VERTICAL, bordersize)

        label = wx.StaticText(self, -1, 'Median Filter (pixels)')
        sizer.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.widgets['medfilt'] = IntEntry(self, -1, chars=2, value='0')
        sizer.Add(self.widgets['medfilt'], (3, 1), (1, 1),
                  wx.ALL | wx.ALIGN_CENTER_VERTICAL, bordersize)

        label = wx.StaticText(self, -1, 'LowPass Filter (pixels)')
        sizer.Add(label, (3, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.widgets['lowfilt'] = FloatEntry(self, -1, chars=2, value='0.0')
        sizer.Add(self.widgets['lowfilt'], (3, 3), (1, 1),
                  wx.ALL | wx.ALIGN_CENTER_VERTICAL, bordersize)

        sbsz.Add(sizer, 0, wx.ALIGN_CENTER | wx.ALL, 2)

        return sbsz
	def onInitialize(self):
		c2sizer = wx.GridBagSizer(5, 5)
		label = wx.StaticText(self, -1, 'C2 size: ')
		c2sizer.Add(label, (0, 0), (1, 1), wx.ALIGN_LEFT)
		self.c2sizectrl = IntEntry(self, -1, chars=6)
		c2sizer.Add(self.c2sizectrl, (0, 1), (1, 1), wx.ALIGN_RIGHT)
		label = wx.StaticText(self, -1, 'um')
		c2sizer.Add(label, (0, 2), (1, 1), wx.ALIGN_LEFT)

		self.sz.Add(c2sizer, (0, 0), (1, 1), wx.EXPAND|wx.ALL,10)
		savebtn = wx.Button(self, -1, 'Save')
		self.sz.Add(savebtn, (1, 0), (1, 1), wx.EXPAND|wx.ALL,5)
		self.sz.AddGrowableCol(0)

		self.Bind(wx.EVT_BUTTON, self.onSave, savebtn)
Exemple #12
0
    def onInitialize(self):
        mag1lab = wx.StaticText(self, -1, 'Mag 1:')
        self.mag1 = IntEntry(self, -1, chars=8)
        mag2lab = wx.StaticText(self, -1, 'Mag 2:')
        self.mag2 = IntEntry(self, -1, chars=8)
        p1lab = wx.StaticText(self, -1, 'Pixel 1:')
        self.p1row = FloatEntry(self, -1, chars=4)
        self.p1col = FloatEntry(self, -1, chars=4)
        p2lab = wx.StaticText(self, -1, 'Pixel 2:')
        self.p2row = FloatEntry(self, -1, chars=4)
        self.p2col = FloatEntry(self, -1, chars=4)

        angle1lab = wx.StaticText(self, -1, 'Angle 1')
        self.angle1 = wx.StaticText(self, -1, '')
        len1lab = wx.StaticText(self, -1, 'Length 1')
        self.len1 = wx.StaticText(self, -1, '')
        angle2lab = wx.StaticText(self, -1, 'Angle 2')
        self.angle2 = wx.StaticText(self, -1, '')
        len2lab = wx.StaticText(self, -1, 'Length 2')
        self.len2 = wx.StaticText(self, -1, '')

        calcp1 = wx.Button(self, -1, 'Calculate')
        self.Bind(wx.EVT_BUTTON, self.calcp1, calcp1)
        calcp2 = wx.Button(self, -1, 'Calculate')
        self.Bind(wx.EVT_BUTTON, self.calcp2, calcp2)

        self.sz.Add(mag1lab, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(self.mag1, (0, 1), (1, 2), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(mag2lab, (0, 3), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(self.mag2, (0, 4), (1, 2), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(p1lab, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(self.p1row, (1, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(self.p1col, (1, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(p2lab, (1, 3), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(self.p2row, (1, 4), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(self.p2col, (1, 5), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        self.sz.Add(angle1lab, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(self.angle1, (2, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(angle2lab, (2, 3), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(self.angle2, (2, 4), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(len1lab, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(self.len1, (3, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(len2lab, (3, 3), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(self.len2, (3, 4), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        self.sz.Add(calcp1, (4, 0), (1, 3), wx.ALIGN_CENTER_VERTICAL)
        self.sz.Add(calcp2, (4, 3), (1, 3), wx.ALIGN_CENTER_VERTICAL)
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sb = wx.StaticBox(self, -1, 'Target Filter')
        sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)

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

        sz = wx.GridBagSizer(5, 10)
        ## filter
        sz.Add(self.widgets['bypass'], (0, 0), (1, 1),
               wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Filtering Target Type')
        sz.Add(label, (0, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['target type'], (0, 2), (1, 1),
               wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['user check'], (1, 0), (1, 1),
               wx.ALIGN_CENTER_VERTICAL)
        sz.AddGrowableCol(0)
        label = wx.StaticText(self, -1, 'Limit Targets to the center-most')
        sz.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['limit'], (2, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)

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

        return [sbsz]
Exemple #14
0
	def __init__(self, parent, title='Main'):
		self.parent = parent
		wx.StaticBoxSizer.__init__(self, wx.StaticBox(self.parent, -1, title),
																			wx.VERTICAL)
		self.sz = wx.GridBagSizer(5, 5)
		self.Add(self.sz, 1, wx.EXPAND|wx.ALL, 5)

		parameterorder = [
			'High tension',
			'Magnification',
			'Intensity',
			'Spot size',
		]
		self.parameters = {
			'High tension': wx.StaticText(self.parent, -1, ''),
			'Magnification': wx.Choice(self.parent, -1),
			'Intensity': FloatEntry(self.parent, -1, chars=7, allownone=True),
			'Spot size': IntEntry(self.parent, -1, chars=2, allownone=True),
		}

		for i, p in enumerate(parameterorder):
			st = wx.StaticText(self.parent, -1, p + ':')
			style = wx.ALIGN_CENTER
			if isinstance(self.parameters[p], Entry):
				style |= wx.FIXED_MINSIZE
			self.sz.Add(st, (i, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
			self.sz.Add(self.parameters[p], (i, 1), (1, 1), style)
			self.sz.AddGrowableRow(i)
			self.parameters[p].Enable(False)

		self.sz.AddGrowableCol(1)
    def createSimulatedTargetLoopBoxSizer(self):
        sbsim = wx.StaticBox(self, -1, 'Simulated Target Loop')
        sbszsim = wx.StaticBoxSizer(sbsim, wx.VERTICAL)

        # 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)
        # simluate target loop
        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)
        return sbszsim
Exemple #16
0
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sb = wx.StaticBox(self, -1, 'Transform Management')
        sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)

        self.widgets['min mag'] = IntEntry(self, -1, min=1, chars=9)
        #self.instrumentselection = leginon.gui.wx.Instrument.SelectionPanel(self, passive=True)
        #self.panel.setInstrumentSelection(self.instrumentselection)
        #self.widgets['camera settings'] = leginon.gui.wx.Camera.CameraPanel(self)
        #self.widgets['camera settings'].setSize(self.node.instrument.camerasize)

        regtypes = self.node.getRegistrationTypes()
        self.widgets['registration'] = Choice(self, -1, choices=regtypes)

        szminmag = wx.GridBagSizer(5, 5)

        label = wx.StaticText(self, -1, 'Minimum Magnification')
        szminmag.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szminmag.Add(self.widgets['min mag'], (0, 1), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE)

        label = wx.StaticText(self, -1, 'Register images using')
        szminmag.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szminmag.Add(self.widgets['registration'], (1, 1), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE)

        sz = wx.GridBagSizer(5, 10)
        sz.Add(szminmag, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        #sz.Add(self.instrumentselection, (1, 0), (1, 1), wx.EXPAND)
        #sz.Add(self.widgets['camera settings'], (2, 0), (1, 1), wx.EXPAND)

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

        return [sbsz]
    def initialize(self):
        tfsd = leginon.gui.wx.TargetFinder.ScrolledSettings.initialize(self)
        if self.show_basic:
            return tfsd
        else:
            sb = wx.StaticBox(self, -1, 'Hole Finder Settings')
            sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)

            self.widgets['skip'] = wx.CheckBox(self, -1,
                                               'Skip automated hole finder')
            self.widgets['focus interval'] = IntEntry(self, -1, chars=6)

            sz = wx.GridBagSizer(5, 5)
            sz.Add(self.widgets['skip'], (0, 0), (1, 1),
                   wx.ALIGN_CENTER_VERTICAL)

            label = wx.StaticText(self, -1, 'Focus every')
            sz.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
            sz.Add(
                self.widgets['focus interval'], (1, 1), (1, 1),
                wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
            label = wx.StaticText(self, -1, 'image')
            sz.Add(label, (1, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

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

            return tfsd + [sbsz]
Exemple #18
0
    def __init__(self, parent):
        WizardPage.__init__(self, parent)
        self.pagesizer = wx.GridBagSizer()
        self.sizer = wx.GridBagSizer()

        self.sizer.Add(
            wx.StaticText(
                self, -1, '''Enter illumination limiting aperture size
(likely C2) you will use at high magnification imaging
if you would like to see its imprint when targeting'''), (0, 0), (1, 1))

        c2sizer = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'C2 size: ')
        c2sizer.Add(label, (0, 0), (1, 1), wx.ALIGN_LEFT)
        self.c2sizectrl = IntEntry(self, -1, chars=6, value='100')
        c2sizer.Add(self.c2sizectrl, (0, 1), (1, 1), wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'um')
        c2sizer.Add(label, (0, 2), (1, 1), wx.ALIGN_LEFT)

        self.sizer.Add(c2sizer, (2, 0), (1, 1), wx.EXPAND | wx.ALL, 10)

        self.sizer.AddGrowableCol(0)

        self.pagesizer.Add(self.sizer, (0, 0), (1, 1), wx.ALIGN_CENTER)
        self.pagesizer.AddGrowableRow(0)
        self.pagesizer.AddGrowableCol(0)

        self.SetSizerAndFit(self.pagesizer)
    def __init__(self, parent):
        self.node = parent.node

        wx.Dialog.__init__(self, parent, -1, 'Test Reproducibiltiy')

        self.measure = wx.Button(self, -1, 'Run')
        self.Bind(wx.EVT_BUTTON, self.onMeasureButton, self.measure)

        szbutton = wx.GridBagSizer(5, 5)
        szbutton.Add(self.measure, (0, 0), (1, 1), wx.EXPAND)

        sbsz = wx.GridBagSizer(5, 5)

        label = wx.StaticText(self, -1, 'Label:')
        self.labvalue = Entry(self, -1, chars=20, value='test1')
        sbsz.Add(label, (0, 0), (1, 1))
        sbsz.Add(self.labvalue, (0, 1), (1, 1))

        label = wx.StaticText(self, -1, 'Moves:')
        self.movesvalue = IntEntry(self,
                                   -1,
                                   allownone=False,
                                   chars=5,
                                   value='10')
        sbsz.Add(label, (1, 0), (1, 1))
        sbsz.Add(self.movesvalue, (1, 1), (1, 1))

        label = wx.StaticText(self, -1, 'Distance:')
        self.distvalue = FloatEntry(self,
                                    -1,
                                    allownone=False,
                                    chars=5,
                                    value='1e-5')
        sbsz.Add(label, (2, 0), (1, 1))
        sbsz.Add(self.distvalue, (2, 1), (1, 1))

        label = wx.StaticText(self, -1, 'Angle:')
        self.angvalue = FloatEntry(self, -1, allownone=True, chars=5, value='')
        sbsz.Add(label, (3, 0), (1, 1))
        sbsz.Add(self.angvalue, (3, 1), (1, 1))

        self.sizer = wx.GridBagSizer(5, 5)
        self.sizer.Add(sbsz, (0, 0), (1, 1), wx.EXPAND | wx.ALL, 10)
        self.sizer.Add(self.measure, (1, 0), (1, 1),
                       wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.ALL, 10)

        self.SetSizerAndFit(self.sizer)
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sb = wx.StaticBox(self, -1, 'Target Filter')
        sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)

        targettypes = ['acquisition', 'focus', 'preview']
        self.widgets['bypass'] = wx.CheckBox(self, -1, 'Bypass Filter')
        self.widgets['target type'] = wx.Choice(self, -1, choices=targettypes)
        self.widgets['user check'] = wx.CheckBox(
            self, -1, 'Verify filter before submitting')
        self.widgets['square length'] = IntEntry(self, -1, min=0, chars=6)
        self.widgets['bright number'] = IntEntry(self, -1, min=0, chars=6)
        self.widgets['dark number'] = IntEntry(self, -1, min=0, chars=6)
        self.widgets['median number'] = IntEntry(self, -1, min=0, chars=6)

        sz = wx.GridBagSizer(5, 10)
        ## filter
        sz.Add(self.widgets['bypass'], (0, 0), (1, 1),
               wx.ALIGN_CENTER_VERTICAL)
        label = wx.StaticText(self, -1, 'Filtering Target Type')
        sz.Add(label, (0, 1), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['target type'], (0, 2), (1, 1),
               wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['user check'], (1, 0), (1, 1),
               wx.ALIGN_CENTER_VERTICAL)
        sz.AddGrowableCol(0)
        label = wx.StaticText(
            self, -1, 'length of the square to consider intensity stats:')
        sz.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['square length'], (2, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'number of brightest targets:')
        sz.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['bright number'], (3, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'number of darkest targets:')
        sz.Add(label, (4, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['dark number'], (4, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'number of closest-to-median targets:')
        sz.Add(label, (5, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['median number'], (5, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)

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

        return [sbsz]
Exemple #21
0
    def __init__(self, parent, title, ring=None):
        wx.Dialog.__init__(self, parent, -1, title)
        sbszring = wx.StaticBoxSizer(wx.StaticBox(self, -1, 'Ring'),
                                     wx.VERTICAL)

        self.ieinside = IntEntry(self, -1, min=0, chars=4)
        self.ieoutside = IntEntry(self, -1, min=0, chars=4)

        if ring is not None:
            if not parent.validate(ring):
                raise ValueError
            inside, outside = ring
            self.ieinside.SetValue(inside)
            self.ieoutside.SetValue(outside)

        szring = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Inside')
        szring.Add(label, (0, 1), (1, 1), wx.ALIGN_CENTER)
        label = wx.StaticText(self, -1, 'Outside')
        szring.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER)
        label = wx.StaticText(self, -1, 'Diameter')
        szring.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szring.Add(self.ieinside, (1, 1), (1, 1),
                   wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        szring.Add(self.ieoutside, (1, 2), (1, 1),
                   wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
        label = wx.StaticText(self, -1, 'pixels')
        szring.Add(label, (1, 3), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sbszring.Add(szring, 1, wx.EXPAND | wx.ALL, 5)

        self.bok = wx.Button(self, wx.ID_OK, 'OK')
        self.bcancel = wx.Button(self, wx.ID_CANCEL, 'Cancel')

        szbutton = wx.GridBagSizer(5, 5)
        szbutton.Add(self.bok, (0, 0), (1, 1),
                     wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
        szbutton.Add(self.bcancel, (0, 1), (1, 1), wx.ALIGN_CENTER)
        szbutton.AddGrowableCol(0)

        sz = wx.GridBagSizer(5, 5)
        sz.Add(sbszring, (0, 0), (1, 1), wx.EXPAND | wx.ALL, 10)
        sz.Add(szbutton, (1, 0), (1, 1), wx.EXPAND | wx.ALL, 10)

        self.SetSizerAndFit(sz)

        self.Bind(wx.EVT_BUTTON, self.onOK, self.bok)
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sb = wx.StaticBox(self, -1, 'Image-Shift Coma Calibration')
        sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)

        self.widgets['imageshift coma tilt'] = FloatEntry(self, -1, chars=9)
        self.widgets['imageshift coma step'] = FloatEntry(self, -1, chars=9)
        self.widgets['imageshift coma number'] = IntEntry(self,
                                                          -1,
                                                          min=1,
                                                          chars=2)
        self.widgets['imageshift coma repeat'] = IntEntry(self,
                                                          -1,
                                                          min=1,
                                                          chars=2)

        sz = wx.GridBagSizer(5, 5)

        label = wx.StaticText(self, -1, 'Coma measurement beam tilt (+/-)')
        sz.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['imageshift coma tilt'], (0, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)

        label = wx.StaticText(self, -1, 'Measure coma at')
        sz.Add(label, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['imageshift coma number'], (1, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'positions per image shift direction')
        sz.Add(label, (1, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        label = wx.StaticText(self, -1, 'Add additional')
        sz.Add(label, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['imageshift coma step'], (2, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'm image shift at each position')
        sz.Add(label, (2, 2), (1, 1), wx.ALIGN_LEFT)

        label = wx.StaticText(self, -1, 'Repeat coma measurement')
        sz.Add(label, (3, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(self.widgets['imageshift coma repeat'], (3, 1), (1, 1),
               wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE | wx.ALIGN_RIGHT)
        label = wx.StaticText(self, -1, 'times')
        sz.Add(label, (3, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        sbsz.Add(sz, 0, wx.ALIGN_CENTER | wx.ALL, 5)
        return [sbsz]
Exemple #23
0
	def __init__(self, parent):
		self.parent = parent
		self.theta = self.parent.data['theta']
		wx.Dialog.__init__(self, self.parent.frame, -1, "Measure Tilt Angle, Theta")

		inforow = wx.FlexGridSizer(3, 3, 15, 15)
		thetastr = ("****** %3.3f ******" % self.theta)
		label = wx.StaticText(self, -1, "Current tilt angle: ",
			style=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
		self.tiltvalue = wx.StaticText(self, -1, thetastr, style=wx.ALIGN_CENTER|wx.ALIGN_CENTER_VERTICAL)
		#self.tiltvalue = FloatEntry(self, -1, allownone=True, chars=5, value=thetastr)
		label3 = wx.StaticText(self, -1, "degrees", style=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
		inforow.Add(label, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
		inforow.Add(self.tiltvalue, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)
		inforow.Add(label3, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)

		arealimstr = str(int(self.parent.data['arealim']))
		label = wx.StaticText(self, -1, "Minimum Triangle Area: ",
			style=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
		self.arealimit = IntEntry(self, -1, allownone=False, chars=8, value=arealimstr)
		label2 = wx.StaticText(self, -1, "square pixels", style=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
		inforow.Add(label, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
		inforow.Add(self.arealimit, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)
		inforow.Add(label2, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)

		label = wx.StaticText(self, -1, "Triangles Used: ", style=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
		self.trilabel1 = wx.StaticText(self, -1, " ", style=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
		self.trilabel2 = wx.StaticText(self, -1, " ", style=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
		inforow.Add(label, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)
		inforow.Add(self.trilabel1, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)
		inforow.Add(self.trilabel2, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)

		self.canceltiltang = wx.Button(self, wx.ID_CANCEL, '&Cancel')
		self.applytiltang = wx.Button(self, wx.ID_APPLY, '&Apply')
		self.runtiltang = wx.Button(self, -1, '&Run')
		self.Bind(wx.EVT_BUTTON, self.onRunTiltAng, self.runtiltang)
		self.Bind(wx.EVT_BUTTON, self.onApplyTiltAng, self.applytiltang)
		buttonrow = wx.GridSizer(1,3)
		buttonrow.Add(self.canceltiltang, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
		buttonrow.Add(self.applytiltang, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
		buttonrow.Add(self.runtiltang, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)

		self.sizer = wx.FlexGridSizer(2,1)
		self.sizer.Add(inforow, 0, wx.EXPAND|wx.ALL, 10)
		self.sizer.Add(buttonrow, 0, wx.EXPAND|wx.ALL, 5)
		self.SetSizerAndFit(self.sizer)
        def initialize(self):
                leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
                sb = wx.StaticBox(self, -1, 'Raptor Settings')
                sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)

                self.widgets['process'] = wx.CheckBox(self, -1,
                                                                                                                                                        'Process images when event received')
                self.widgets['path'] = Entry(self, -1)
                self.widgets['time'] = IntEntry(self, -1)
                self.widgets['binning'] = IntEntry(self, -1)

                sbsz.Add(self.widgets['process'])
                sbsz.Add(self.widgets['path'])
                sbsz.Add(self.widgets['time'])
                sbsz.Add(self.widgets['binning'])

                return [sbsz]
 def createTemplateDiameterEntry(self, sz, start_position):
     self.widgets['template diameter'] = IntEntry(self, -1, chars=4)
     label = wx.StaticText(self, -1, 'Final Template Diameter')
     # add to main
     newrow, newcol = self.addToSizer(sz, label, start_position, (1, 1))
     return self.addToSizer(sz, self.widgets['template diameter'],
                            (start_position[0], newcol), (1, 1),
                            wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
    def initialize(self):
        leginon.gui.wx.Settings.ScrolledDialog.initialize(self)
        sb = wx.StaticBox(self, -1, 'Mosaics')
        sbsz = wx.StaticBoxSizer(sb, wx.VERTICAL)

        choices = self.node.calclients.keys()
        self.widgets['calibration parameter'] = Choice(self,
                                                       -1,
                                                       choices=choices)
        self.widgets['scale image'] = wx.CheckBox(self, -1, 'Scale image to')
        self.widgets['scale size'] = IntEntry(self, -1, min=1, chars=4)
        self.widgets['create on tile change'] = Choice(
            self, -1, choices=['all', 'final', 'none'])

        self.bcreate = wx.Button(self, -1, 'Create')
        self.bsave = wx.Button(self, -1, 'Save')

        szp = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Calibration parameter')
        szp.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szp.Add(self.widgets['calibration parameter'], (0, 1), (1, 1),
                wx.ALIGN_CENTER_VERTICAL)

        szs = wx.GridBagSizer(5, 5)
        szs.Add(self.widgets['scale image'], (0, 0), (1, 1),
                wx.ALIGN_CENTER_VERTICAL)
        szs.Add(self.widgets['scale size'], (0, 1), (1, 1),
                wx.ALIGN_CENTER_VERTICAL | wx.FIXED_MINSIZE)
        label = wx.StaticText(self, -1, 'pixels in largest dimension')
        szs.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)

        szb = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Mosaic image:')
        szb.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        szb.Add(self.bcreate, (0, 1), (1, 1), wx.ALIGN_CENTER)
        szb.Add(self.bsave, (0, 2), (1, 1), wx.ALIGN_CENTER)

        szc = wx.GridBagSizer(5, 5)
        label = wx.StaticText(self, -1, 'Auto create mosaic for new tiles')
        szc.Add(label, (0, 0), (1, 1))
        szc.Add(self.widgets['create on tile change'], (0, 1), (1, 1),
                wx.ALIGN_CENTER_VERTICAL)

        sz = wx.GridBagSizer(5, 5)
        sz.Add(szp, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(szs, (1, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(szc, (2, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
        sz.Add(szb, (3, 0), (1, 1), wx.ALIGN_CENTER)

        sbsz.Add(sz, 1, wx.EXPAND | wx.ALL, 5)

        self.bcreate.Enable(self.node.mosaic.hasTiles())
        self.bsave.Enable(self.node.hasMosaicImage())

        self.Bind(wx.EVT_BUTTON, self.onCreateButton, self.bcreate)
        self.Bind(wx.EVT_BUTTON, self.onSaveButton, self.bsave)

        return [sbsz]
class ReproTestDialog(wx.Dialog):
    def __init__(self, parent):
        self.node = parent.node

        wx.Dialog.__init__(self, parent, -1, 'Test Reproducibiltiy')

        self.measure = wx.Button(self, -1, 'Run')
        self.Bind(wx.EVT_BUTTON, self.onMeasureButton, self.measure)

        szbutton = wx.GridBagSizer(5, 5)
        szbutton.Add(self.measure, (0, 0), (1, 1), wx.EXPAND)

        sbsz = wx.GridBagSizer(5, 5)

        label = wx.StaticText(self, -1, 'Label:')
        self.labvalue = Entry(self, -1, chars=20, value='test1')
        sbsz.Add(label, (0, 0), (1, 1))
        sbsz.Add(self.labvalue, (0, 1), (1, 1))

        label = wx.StaticText(self, -1, 'Moves:')
        self.movesvalue = IntEntry(self,
                                   -1,
                                   allownone=False,
                                   chars=5,
                                   value='10')
        sbsz.Add(label, (1, 0), (1, 1))
        sbsz.Add(self.movesvalue, (1, 1), (1, 1))

        label = wx.StaticText(self, -1, 'Distance:')
        self.distvalue = FloatEntry(self,
                                    -1,
                                    allownone=False,
                                    chars=5,
                                    value='1e-5')
        sbsz.Add(label, (2, 0), (1, 1))
        sbsz.Add(self.distvalue, (2, 1), (1, 1))

        label = wx.StaticText(self, -1, 'Angle:')
        self.angvalue = FloatEntry(self, -1, allownone=True, chars=5, value='')
        sbsz.Add(label, (3, 0), (1, 1))
        sbsz.Add(self.angvalue, (3, 1), (1, 1))

        self.sizer = wx.GridBagSizer(5, 5)
        self.sizer.Add(sbsz, (0, 0), (1, 1), wx.EXPAND | wx.ALL, 10)
        self.sizer.Add(self.measure, (1, 0), (1, 1),
                       wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.ALL, 10)

        self.SetSizerAndFit(self.sizer)

    def onMeasureButton(self, evt):
        self.Close()
        label = self.labvalue.GetValue()
        moves = self.movesvalue.GetValue()
        distance = self.distvalue.GetValue()
        angle = self.angvalue.GetValue()
        threading.Thread(target=self.node.move_away_move_back,
                         args=(label, moves, distance, angle)).start()
    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]
Exemple #29
0
 def createRepeatTimeEntry(self, start_position):
     sz_time = wx.GridBagSizer(1, 4)
     label1 = wx.StaticText(self, -1, 'Wait for at least')
     self.widgets['repeat time'] = IntEntry(self, -1, chars=6, min=0)
     label2 = wx.StaticText(self, -1, 'seconds before fixing condition')
     sz_time.Add(label1, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
     sz_time.Add(self.widgets['repeat time'], (0, 1), (1, 1), wx.EXPAND)
     sz_time.Add(label2, (0, 2), (1, 2),
                 wx.ALIGN_CENTER_VERTICAL | wx.EXPAND)
     self.sz.Add(sz_time, start_position, (1, 2), wx.ALIGN_LEFT | wx.ALL)
 def createBadRecheckSizer(self):
     # recheck
     self.widgets['recheck pause time'] = IntEntry(self, -1, chars=8)
     sz_recheck = wx.GridBagSizer(0, 0)
     label = wx.StaticText(self, -1, 'Wait for')
     sz_recheck.Add(label, (0, 0), (1, 1), wx.ALIGN_CENTER_VERTICAL)
     sz_recheck.Add(self.widgets['recheck pause time'], (0, 1), (1, 1),
                    wx.ALIGN_CENTER_VERTICAL)
     label = wx.StaticText(self, -1, 'second if recheck')
     sz_recheck.Add(label, (0, 2), (1, 1), wx.ALIGN_CENTER_VERTICAL)
     return sz_recheck