Changeset 311 for trunk/GSASIIphsGUI.py


Ignore:
Timestamp:
Jun 27, 2011 10:27:29 AM (10 years ago)
Author:
vondreele
Message:

finish new indexing refinement stuff
more on texture plotting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIphsGUI.py

    r303 r311  
    18541854            textureData = generalData['SH Texture'] = {'Order':0,'Model':'cylindrical',
    18551855                'Sample omega':[False,0.0],'Sample chi':[False,0.0],'Sample phi':[False,0.0],
    1856                 'SH Coeff':[False,{}],'SHShow':False,'PFhkl':[0,0,1]}
     1856                'SH Coeff':[False,{}],'SHShow':False,'PFhkl':[0,0,1],
     1857                'PFxyz':[0,0,1.],'PlotType':'Pole figure'}
     1858        try:                        #another fix!
     1859            x = textureData['PlotType']
     1860        except KeyError:
     1861            textureData.update({'PFxyz':[0,0,1.],'PlotType':'Pole figure'})
    18571862        shModels = ['cylindrical','none','shear - 2/m','rolling - mmm']
    18581863        SamSym = dict(zip(shModels,['0','-1','2/m','mmm']))
     
    18771882            UseList[hist]['Show'] = Obj.GetValue()
    18781883            UpdateDData()
     1884            G2plt.PlotStrain(self,data)
    18791885           
    18801886        def OnShOrder(event):
     
    18821888            textureData['SH Coeff'][1] = SetSHCoef()
    18831889            UpdateDData()
     1890            G2plt.PlotTexture(self,data)
    18841891                       
    18851892        def OnShModel(event):
     
    18871894            textureData['SH Coeff'][1] = SetSHCoef()
    18881895            UpdateDData()
     1896            G2plt.PlotTexture(self,data)
    18891897           
    18901898        def OnSHRefine(event):
     
    19071915            Obj.SetValue('%8.2f'%(value))
    19081916            textureData[valIndx[Obj.GetId()]][1] = value
     1917            G2plt.PlotTexture(self,data)
    19091918           
    19101919        def OnODFValue(event):
     
    19161925            Obj.SetValue('%8.3f'%(value))
    19171926            textureData['SH Coeff'][1][ODFIndx[Obj.GetId()]] = value
     1927            G2plt.PlotTexture(self,data)
     1928           
     1929        def OnPfType(event):
     1930            textureData['PlotType'] = pfType.GetValue()
     1931            UpdateDData()
     1932            G2plt.PlotTexture(self,data)
    19181933           
    19191934        def OnPFValue(event):
    19201935            Obj = event.GetEventObject()
    1921             try:
    1922                 value =  int(Obj.GetValue())
    1923             except ValueError:
    1924                 value = textureData['PFhkl'][pfIndx[Obj.GetId()]]
    1925             Obj.SetValue('%3d'%(value))
    1926             textureData['PFhkl'][pfIndx[Obj.GetId()]] = value
    1927             G2plt.PlotSphHarmTexture(self,generalData)           
     1936            if textureData['PlotType'] in ['Pole figure','Pole distribution','Axial pole distribution']:
     1937                try:
     1938#                    value =  int(Obj.GetValue())
     1939                    value = '['+Obj.GetValue()+']'
     1940                    hkl = eval(value)
     1941                except:
     1942                    value = str(textureData['PFhkl'])
     1943                    hkl = eval(value)
     1944#                    value = textureData['PFhkl'][pfIndx[Obj.GetId()]]
     1945                Obj.SetValue('%d,%d,%d'%(hkl[0],hkl[1],hkl[2]))
     1946#                Obj.SetValue('%3d'%(value))
     1947#                textureData['PFhkl'][pfIndx[Obj.GetId()]] = value
     1948                textureData['PFhkl'] = hkl
     1949            else:
     1950                try:
     1951                    value =  float(Obj.GetValue())
     1952                except ValueError:
     1953                    value = textureData['PFxyz'][pfIndx[Obj.GetId()]]
     1954                Obj.SetValue('%3.1f'%(value))
     1955                textureData['PFxyz'][pfIndx[Obj.GetId()]] = value
     1956            G2plt.PlotTexture(self,data)
    19281957       
    19291958        def OnScaleRef(event):
     
    21102139        mainSizer.Add(shSizer,0,0)
    21112140        mainSizer.Add((0,5),0)
     2141        mainSizer.Add(wx.StaticText(dataDisplay,-1,
     2142            'Texture Index J = %7.3f'%(G2lat.textureIndex(textureData['SH Coeff'][1]))),
     2143            0,wx.ALIGN_CENTER_VERTICAL)
     2144        mainSizer.Add((0,5),0)
    21122145        if textureData['SHShow']:
    21132146            mainSizer.Add(wx.StaticText(dataDisplay,-1,'Spherical harmonic coefficients: '),0,wx.ALIGN_CENTER_VERTICAL)
     
    21272160            mainSizer.Add((0,5),0)
    21282161        PFSizer = wx.BoxSizer(wx.HORIZONTAL)
    2129         PFSizer.Add(wx.StaticText(dataDisplay,-1,'Display pole figure for HKL: '),0,wx.ALIGN_CENTER_VERTICAL)
    2130         pfIndx = {}
    2131         for i in range(3):
    2132             pfVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%3d'%(textureData['PFhkl'][i]),size=(40,20),style=wx.TE_PROCESS_ENTER)
    2133             pfIndx[pfVal.GetId()] = i
     2162        PFSizer.Add(wx.StaticText(dataDisplay,-1,'Texture plot type: '),0,wx.ALIGN_CENTER_VERTICAL)
     2163        choices = ['Pole figure','Pole distribution','Axial pole distribution','Inverse pole figure','Inverse distribution']           
     2164        pfType = wx.ComboBox(dataDisplay,-1,value=str(textureData['PlotType']),choices=choices,
     2165            style=wx.CB_READONLY|wx.CB_DROPDOWN)
     2166        pfType.Bind(wx.EVT_COMBOBOX,OnPfType)
     2167        PFSizer.Add(pfType,0,wx.ALIGN_CENTER_VERTICAL)
     2168        mainSizer.Add(PFSizer,0,wx.ALIGN_CENTER_VERTICAL)
     2169        if textureData['PlotType'] in ['Pole figure','Pole distribution','Axial pole distribution']:
     2170            PFSizer.Add(wx.StaticText(dataDisplay,-1,'  Display pole figure for HKL: '),0,wx.ALIGN_CENTER_VERTICAL)
     2171#            pfIndx = {}
     2172#            for i in range(3):
     2173#                pfVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%3d'%(textureData['PFhkl'][i]),size=(40,20),style=wx.TE_PROCESS_ENTER)
     2174#                pfIndx[pfVal.GetId()] = i
     2175#                pfVal.Bind(wx.EVT_TEXT_ENTER,OnPFValue)
     2176#                pfVal.Bind(wx.EVT_KILL_FOCUS,OnPFValue)
     2177#                PFSizer.Add(pfVal,0,wx.ALIGN_CENTER_VERTICAL)
     2178            PH = textureData['PFhkl']
     2179            pfVal = wx.TextCtrl(dataDisplay,-1,'%d,%d,%d'%(PH[0],PH[1],PH[2]),style=wx.TE_PROCESS_ENTER)
    21342180            pfVal.Bind(wx.EVT_TEXT_ENTER,OnPFValue)
    21352181            pfVal.Bind(wx.EVT_KILL_FOCUS,OnPFValue)
    2136             PFSizer.Add(pfVal,0,wx.ALIGN_CENTER_VERTICAL)           
    2137         mainSizer.Add(PFSizer,0,wx.ALIGN_CENTER_VERTICAL)
     2182            PFSizer.Add(pfVal,0,wx.ALIGN_CENTER_VERTICAL)
     2183        else:
     2184            PFSizer.Add(wx.StaticText(dataDisplay,-1,'  Display inverse pole figure for XYZ: '),0,wx.ALIGN_CENTER_VERTICAL)
     2185            pfIndx = {}
     2186            for i in range(3):
     2187                pfVal = wx.TextCtrl(dataDisplay,wx.ID_ANY,'%3.1f'%(textureData['PFxyz'][i]),size=(40,20),style=wx.TE_PROCESS_ENTER)
     2188                pfIndx[pfVal.GetId()] = i
     2189                pfVal.Bind(wx.EVT_TEXT_ENTER,OnPFValue)
     2190                pfVal.Bind(wx.EVT_KILL_FOCUS,OnPFValue)
     2191                PFSizer.Add(pfVal,0,wx.ALIGN_CENTER_VERTICAL)
    21382192        mainSizer.Add((0,5),0)
    21392193        mainSizer.Add(wx.StaticText(dataDisplay,-1,'Sample orientation angles: '),0,wx.ALIGN_CENTER_VERTICAL)
     
    23482402
    23492403        dataDisplay.SetSizer(mainSizer)
    2350         mainSizer.FitInside(self.dataFrame)
    2351         Size = mainSizer.Fit(self.dataFrame)
    2352         Size[0] = max(Size[0],300)+20
    2353         Size[1] += 30                        #compensate for status bar
    2354         DData.SetScrollbars(10,10,Size[0]/10-4,Size[1]/10-10)
     2404        mainSizer.Fit(self.dataFrame)
     2405        Size = mainSizer.GetMinSize()
     2406        Size[0] += 40
     2407        Size[1] = max(Size[1],250) + 20
    23552408        dataDisplay.SetSize(Size)
     2409        DData.SetScrollbars(10,10,Size[0]/10-4,Size[1]/10-1)
     2410        Size[1] = min(Size[1],450)
    23562411        self.dataFrame.setSizePosLeft(Size)
    23572412       
     
    25622617            UpdateDData()           
    25632618            G2plt.PlotStrain(self,data)
     2619            G2plt.PlotTexture(self,data)
    25642620        elif text == 'Draw Options':
    25652621            self.dataFrame.SetMenuBar(self.dataFrame.BlankMenu)
Note: See TracChangeset for help on using the changeset viewer.