Changeset 2175 for trunk/GSASIIphsGUI.py


Ignore:
Timestamp:
Mar 17, 2016 1:52:26 PM (8 years ago)
Author:
vondreele
Message:

modify DIFFaXDialog - more parameters
add selected are plot as a pylab plot

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIphsGUI.py

    r2174 r2175  
    24212421            toler.SetValue('%.3f'%(Layers['Toler']))
    24222422           
     2423        def OnSadpPlot(event):
     2424            sadpPlot.SetValue(False)
     2425            import pylab as pl
     2426            pl.clf()
     2427            pl.imshow(Layers['Sadp']['Img'],aspect='equal')
     2428            pl.title(Layers['Sadp']['Plane'])
     2429            pl.show()
     2430           
    24232431        def CellSizer():
    24242432           
     
    28162824            toler.Bind(wx.EVT_KILL_FOCUS,OnToler)
    28172825            laueSizer.Add(toler,0,WACV)
     2826        if 'Sadp' in Layers:
     2827            sadpPlot = wx.CheckBox(layerData,label=' Plot selected area diffraction?')
     2828            sadpPlot.Bind(wx.EVT_CHECKBOX,OnSadpPlot)
     2829            laueSizer.Add(sadpPlot,0,WACV)
    28182830        topSizer.Add(laueSizer,0,WACV)
    28192831        topSizer.Add(wx.StaticText(layerData,label=' Reference unit cell for all layers:'),0,WACV)
     
    28632875       
    28642876    def OnSimulate(event):
    2865         UseList = []
    2866         for item in data['Histograms']:
    2867             if 'PWDR' in item:
    2868                 UseList.append(item)
    2869         if not UseList:
    2870             wx.MessageBox('No PWDR data for this phase to simulate',caption='Data error',style=wx.ICON_EXCLAMATION)
    2871             return
    2872         dlg = wx.SingleChoiceDialog(G2frame,'Data to simulate','Select',UseList)
     2877        ctrls = ''
     2878        dlg = G2gd.DIFFaXcontrols(G2frame,ctrls)
    28732879        if dlg.ShowModal() == wx.ID_OK:
    2874             sel = dlg.GetSelection()
    2875             HistName = UseList[sel]
     2880            ctrls,plane = dlg.GetSelection()
     2881            data['Layers']['Sadp'] = {}
     2882            data['Layers']['Sadp']['Plane'] = plane
    28762883        else:
    28772884            return
    2878         dlg.Destroy()
    2879         PWDR = data['Histograms'][HistName]
    2880         G2frame.PatternId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,HistName)
    2881         sample = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(
    2882             G2frame,G2frame.PatternId, 'Sample Parameters'))
    2883         scale = sample['Scale'][0]
    2884         background = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(
    2885             G2frame,G2frame.PatternId, 'Background'))       
    2886         limits = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(
    2887             G2frame,G2frame.PatternId, 'Limits'))[1]
    2888         inst = G2frame.PatternTree.GetItemPyData(
    2889             G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0]
    2890         if 'T' in inst['Type'][0]:
    2891             wx.MessageBox("Can't simulate neutron TOF patterns yet",caption='Data error',style=wx.ICON_EXCLAMATION)
    2892             return           
    2893         profile = G2frame.PatternTree.GetItemPyData(G2frame.PatternId)[1]
    2894         ctrls = {}
    2895         dlg = G2gd.DIFFaXcontrols(G2frame,ctrls)
    2896         if dlg.ShowModal() == wx.ID_OK:
    2897             ctrls = dlg.GetSelection()
    2898         else:
    2899             return
    2900         dlg.Destroy()       
    2901         G2pwd.StackSim(data['Layers'],HistName,scale,background,limits,inst,profile)
    2902         G2plt.PlotPatterns(G2frame,plotType='PWDR')
     2885        if ctrls == '0\n0\n3\n':    #powder pattern
     2886            UseList = []
     2887            for item in data['Histograms']:
     2888                if 'PWDR' in item:
     2889                    UseList.append(item)
     2890            if not UseList:
     2891                wx.MessageBox('No PWDR data for this phase to simulate',caption='Data error',style=wx.ICON_EXCLAMATION)
     2892                return
     2893            dlg = wx.SingleChoiceDialog(G2frame,'Data to simulate','Select',UseList)
     2894            if dlg.ShowModal() == wx.ID_OK:
     2895                sel = dlg.GetSelection()
     2896                HistName = UseList[sel]
     2897            else:
     2898                return
     2899            dlg.Destroy()
     2900            PWDR = data['Histograms'][HistName]
     2901            G2frame.PatternId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,HistName)
     2902            sample = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(
     2903                G2frame,G2frame.PatternId, 'Sample Parameters'))
     2904            scale = sample['Scale'][0]
     2905            background = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(
     2906                G2frame,G2frame.PatternId, 'Background'))       
     2907            limits = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(
     2908                G2frame,G2frame.PatternId, 'Limits'))[1]
     2909            inst = G2frame.PatternTree.GetItemPyData(
     2910                G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0]
     2911            if 'T' in inst['Type'][0]:
     2912                wx.MessageBox("Can't simulate neutron TOF patterns yet",caption='Data error',style=wx.ICON_EXCLAMATION)
     2913                return           
     2914            profile = G2frame.PatternTree.GetItemPyData(G2frame.PatternId)[1]
     2915            dlg.Destroy()       
     2916            G2pwd.StackSim(data['Layers'],ctrls,HistName,scale,background,limits,inst,profile)
     2917            G2plt.PlotPatterns(G2frame,plotType='PWDR')
     2918        else:   #selected area
     2919            G2pwd.StackSim(data['Layers'],ctrls)
     2920        wx.CallAfter(UpdateLayerData)
    29032921       
    29042922################################################################################
Note: See TracChangeset for help on using the changeset viewer.