Changeset 1300 for trunk/GSASIIpwdGUI.py


Ignore:
Timestamp:
Apr 25, 2014 12:47:06 PM (9 years ago)
Author:
vondreele
Message:

Add additional column to SASD profile - contains fixed background
remove contour plotting from SASD data
Add background file to SASD models GUI
this change breaks old SASD gpx files, they will need to be recreated!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIpwdGUI.py

    r1297 r1300  
    121121        'IPG':{'Niter':100,'Approach':0.8,'Power':-1},'Reg':{},},           
    122122        'Particle':{'Matrix':{'Name':'vacuum','VolFrac':[0.0,False]},'Levels':[],},
    123         'Current':'Size dist.',
     123        'Current':'Size dist.','BackFile':'',
    124124        }
    125125       
     
    26672667    if 'Matrix' not in data['Particle']:
    26682668        data['Particle']['Matrix'] = {'Name':'vacuum','VolFrac':[0.0,False]}
     2669    if 'BackFile' not in data:
     2670        data['BackFile'] = ''
    26692671    #end patches
    26702672   
     
    27192721        for item in copyList:
    27202722            Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,item)
    2721             G2frame.PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Models'),
    2722                 copy.deepcopy(data))
     2723            newdata = copy.deepcopy(data)
     2724            G2frame.PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Models'),newdata)
     2725            if newdata['BackFile']:
     2726                Profile = G2frame.PatternTree.GetItemPyData(Id)[1]
     2727                BackId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,newdata['BackFile'])
     2728                BackSample = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,BackId, 'Sample Parameters'))
     2729                Profile[5] = BackSample['Scale'][0]*G2frame.PatternTree.GetItemPyData(BackId)[1][1]
     2730        RefreshPlots(True)
    27232731               
    27242732    def OnCopyFlags(event):
     
    27542762        finally:
    27552763            dlg.Destroy()
    2756 
    2757        
    27582764               
    27592765    def OnFitModelAll(event):
     
    28182824                return
    28192825            G2sasd.SizeDistribution(Profile,ProfDict,Limits,Substances,Sample,data)
     2826            G2plt.PlotSASDSizeDist(G2frame)
    28202827            RefreshPlots(True)
    28212828           
     
    28592866        data['Current'] = fitSel.GetValue()
    28602867        wx.CallAfter(UpdateModelsGrid,G2frame,data)
    2861        
    2862     def OnValueChange(event):
    2863         Obj = event.GetEventObject()
    2864         itemKey,ind,fmt = Indx[Obj.GetId()]
    2865         try:
    2866             value = float(Obj.GetValue())
    2867         except ValueError:
    2868             value = 0.0
    2869         Obj.SetValue(fmt%(value))
    2870         data[itemKey][ind] = value
    2871         if itemKey == 'Back':
    2872             Profile[4][:] = value
    2873         RefreshPlots()
    28742868       
    28752869    def OnCheckBox(event):
     
    32313225        RefreshPlots(True)
    32323226       
     3227    def OnBackChange(event):
     3228        try:
     3229            value = float(backVal.GetValue())
     3230        except ValueError:
     3231            value = 0.0
     3232        backVal.SetValue('%.3g'%(value))
     3233        data['Back'][0] = value
     3234        Profile[4][:] = value
     3235        RefreshPlots()
     3236       
     3237    def OnBackFile(event):
     3238        data['BackFile'] = backFile.GetValue()
     3239        if data['BackFile']:
     3240            fixBack =  data['Back'][0]
     3241            BackId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,data['BackFile'])
     3242            BackSample = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,BackId, 'Sample Parameters'))
     3243            Profile[5] = BackSample['Scale'][0]*G2frame.PatternTree.GetItemPyData(BackId)[1][1]
     3244            RefreshPlots(True)
     3245           
    32333246    Sample = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Sample Parameters'))
    32343247    Limits = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Limits'))
     
    32363249    Substances = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Substances'))
    32373250    ProfDict,Profile = G2frame.PatternTree.GetItemPyData(G2frame.PatternId)[:2]
    3238 
     3251    if data['BackFile']:
     3252        BackId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,data['BackFile'])
     3253        BackSample = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,BackId, 'Sample Parameters'))
     3254        Profile[5] = BackSample['Scale'][0]*G2frame.PatternTree.GetItemPyData(BackId)[1][1]
    32393255    if G2frame.dataDisplay:
    32403256        G2frame.dataFrame.DestroyChildren()
     
    32793295    backVal = wx.TextCtrl(G2frame.dataDisplay,value='%.3g'%(data['Back'][0]),style=wx.TE_PROCESS_ENTER)
    32803296    Indx[backVal.GetId()] = ['Back',0,'%.3g']
    3281     backVal.Bind(wx.EVT_TEXT_ENTER,OnValueChange)       
    3282     backVal.Bind(wx.EVT_KILL_FOCUS,OnValueChange)
     3297    backVal.Bind(wx.EVT_TEXT_ENTER,OnBackChange)       
     3298    backVal.Bind(wx.EVT_KILL_FOCUS,OnBackChange)
    32833299    backSizer.Add(backVal,0,WACV)
    32843300    backVar = wx.CheckBox(G2frame.dataDisplay,label='Refine?')
     
    32863302    backVar.SetValue(data['Back'][1])
    32873303    backVar.Bind(wx.EVT_CHECKBOX, OnCheckBox)
    3288     backSizer.Add(backVar,0,WACV)
     3304    backSizer.Add(backVar,0,WACV)   
     3305    backSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' Background file: '),0,WACV)
     3306    Choices = ['',]+G2gd.GetPatternTreeDataNames(G2frame,['SASD',])
     3307    backFile = wx.ComboBox(parent=G2frame.dataDisplay,value=data['BackFile'],choices=Choices,
     3308        style=wx.CB_READONLY|wx.CB_DROPDOWN)
     3309    backFile.Bind(wx.EVT_COMBOBOX,OnBackFile)
     3310    backSizer.Add(backFile)   
    32893311    mainSizer.Add(backSizer)
    32903312
Note: See TracChangeset for help on using the changeset viewer.