Changeset 1653 for trunk/GSASIIimgGUI.py


Ignore:
Timestamp:
Feb 13, 2015 9:25:22 AM (7 years ago)
Author:
vondreele
Message:

allow all image controls to be varied in calibration and recalibration
stop debug printing in image calibration/recalibration

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIimgGUI.py

    r1644 r1653  
    5656        Obj.SetValue('%.3f'%(data['pixelSize'][id]))
    5757        G2plt.PlotExposedImage(G2frame,newPlot=True,event=event)
    58        
    59        
    6058       
    6159    if G2frame.dataDisplay:
     
    470468    def CalibCoeffSizer():
    471469       
    472         def OnWavelength(event):
    473             try:
    474                 wave = float(waveSel.GetValue())
    475                 if wave < .01:
     470        def OnCalRef(event):
     471            Obj = event.GetEventObject()
     472            name = Indx[Obj]
     473            data['varyList'][name] = Obj.GetValue()
     474           
     475        def OnCalVal(event):
     476            Obj = event.GetEventObject()
     477            name = Indx[Obj]
     478            try:
     479                value = float(Obj.GetValue())
     480                if name == 'wave' and value < 0.01:
    476481                    raise ValueError
    477                 data['wavelength'] = wave
    478             except ValueError:
    479                 pass
    480             waveSel.SetValue("%7.5f" % (data['wavelength']))          #reset in case of error
    481            
    482         def OnDetDepthRef(event):
    483             data['varyList']['dep'] = penSel.GetValue()
    484            
    485         def OnDetDepth(event):
    486             try:
    487                 data['DetDepth'] = float(penVal.GetValue())
    488             except ValueError:
    489                 pass
    490             penVal.SetValue("%6.3f" % (data['DetDepth']))          #reset in case of error                     
     482            except ValueError:
     483                value = Parms[name][2]
     484            if name == 'dist':
     485                data['distance'] = value
     486            elif name == 'det-X':
     487                data['center'][0] = value
     488            elif name == 'det-Y':
     489                data['center'][1] = value
     490            elif name == 'tilt':
     491                data['tilt'] = value
     492            elif name == 'phi':
     493                data['rotation'] = value
     494            elif name == 'wave':
     495                data['wavelength'] = value
     496            elif name == 'dep':
     497                data['DetDepth'] = value                               
     498            Parms[name][2] = value
     499            Obj.SetValue(Parms[name][1]%(value))
    491500           
    492501        calibSizer = wx.FlexGridSizer(0,2,5,5)
     
    494503        calibSizer.Add((5,0),0)
    495504        cent = data['center']
    496         for axis,cnt in zip(['X','Y'],cent):
    497             calibSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Beam center '+axis),0,WACV)
    498             centText = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%7.2f" % (cnt)),style=wx.TE_READONLY)
    499             centText.SetBackgroundColour(VERY_LIGHT_GREY)
    500             calibSizer.Add(centText,0,WACV)       
    501         calibSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Wavelength'),0,WACV)
    502         waveSel = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%7.5f" % (data['wavelength'])),
    503             style=wx.TE_PROCESS_ENTER)
    504         waveSel.Bind(wx.EVT_TEXT_ENTER,OnWavelength)
    505         waveSel.Bind(wx.EVT_KILL_FOCUS,OnWavelength)
    506         calibSizer.Add(waveSel,0,WACV)             
    507         calibSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Distance'),0,WACV)
    508 #        distVary = wx.CheckBox(G2frame.dataDisplay,label=' Distance')
    509         distSel = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%8.2f"%(data['distance'])),style=wx.TE_READONLY)
    510         distSel.SetBackgroundColour(VERY_LIGHT_GREY)
    511         calibSizer.Add(distSel,0,WACV)
    512         calibSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Tilt angle'),0,WACV)
    513         tiltSel = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%9.3f"%(data['tilt'])),style=wx.TE_READONLY)
    514         tiltSel.SetBackgroundColour(VERY_LIGHT_GREY)
    515         calibSizer.Add(tiltSel,0,WACV)
    516         calibSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Tilt rotation'),0,WACV)
    517         rotSel = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%9.3f"%(data['rotation'])),style=wx.TE_READONLY)
    518         rotSel.SetBackgroundColour(VERY_LIGHT_GREY)
    519         calibSizer.Add(rotSel,0,WACV)
     505        Names = ['det-X','det-Y','wave','dist','tilt','phi']
    520506        if 'PWDR' in data['type']:
    521             penSel = wx.CheckBox(parent=G2frame.dataDisplay,label='Penetration?')
    522             calibSizer.Add(penSel,0,WACV)
    523             penSel.Bind(wx.EVT_CHECKBOX, OnDetDepthRef)
    524             penSel.SetValue(data['varyList']['dep'])
    525             penVal = wx.TextCtrl(parent=G2frame.dataDisplay,value=("%6.5f" % (data['DetDepth'])),
    526                 style=wx.TE_PROCESS_ENTER)
    527             penVal.Bind(wx.EVT_TEXT_ENTER,OnDetDepth)
    528             penVal.Bind(wx.EVT_KILL_FOCUS,OnDetDepth)
    529             calibSizer.Add(penVal,0,WACV)             
    530        
     507            Names.append('dep')
     508        Parms = {'dist':['Distance','%.3f',data['distance']],'det-X':['Beam center X','%.3f',data['center'][0]],
     509            'det-Y':['Beam center X','%.3f',data['center'][1]],'tilt':['Tilt angle','%.3f',data['tilt']],
     510            'phi':['Tilt rotation','%.2f',data['rotation']],'dep':['Penetration','%.2f',data['DetDepth']],
     511            'wave':['Wavelength','%.6f',data['wavelength']]}
     512        Indx = {}
     513        for name in Names:
     514            calSel = wx.CheckBox(parent=G2frame.dataDisplay,label=Parms[name][0])
     515            calibSizer.Add(calSel,0,WACV)
     516            calSel.Bind(wx.EVT_CHECKBOX, OnCalRef)
     517            calSel.SetValue(data['varyList'][name])
     518            Indx[calSel] = name
     519            calVal = wx.TextCtrl(G2frame.dataDisplay,value=(Parms[name][1]%(Parms[name][2])),style=wx.TE_PROCESS_ENTER)
     520            calVal.Bind(wx.EVT_TEXT_ENTER,OnCalVal)
     521            calVal.Bind(wx.EVT_KILL_FOCUS,OnCalVal)
     522            Indx[calVal] = name
     523            calibSizer.Add(calVal,0,WACV)
    531524        return calibSizer
    532525   
Note: See TracChangeset for help on using the changeset viewer.