Changeset 2772 for trunk/GSASIIpwdGUI.py


Ignore:
Timestamp:
Apr 4, 2017 3:34:02 PM (8 years ago)
Author:
vondreele
Message:

do some speedups of image tiff readers
Modify PlotXY so it sort of behaves for multiple line plots
various fixes for reflectometry calcs & plots.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/GSASIIpwdGUI.py

    r2771 r2772  
    47554755            return
    47564756        plotList = []
    4757         od = {'label_1':'Zero at substrate','value_1':False}
     4757        od = {'label_1':'Zero at substrate','value_1':False,'label_2':'Show layer transitions','value_2':True}
    47584758        dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame,'Plot reflectivity models for:',
    47594759            'Plot SLD models', histList,extraOpts=od)
     
    47624762                for i in dlg.GetSelections():
    47634763                    plotList.append(histList[i])
     4764            else:
     4765                dlg.Destroy()
     4766                return
    47644767        finally:
    47654768            dlg.Destroy()
    47664769        XY = []
     4770        LinePos = []
    47674771        for item in plotList:
    47684772            mId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,item)
     
    47764780                XY.append([x,y])
    47774781                disLabel = r'$Distance\ from\ top\ surface,\ \AA$'
     4782            if od['value_2']:
     4783                nLines = len(model['Layers'])-1
     4784                linePos = np.zeros(nLines)
     4785                for ilay,layer in enumerate(model['Layers'][1:-1]):
     4786                    linePos[ilay+1:] += layer.get('Thick',[0.,False])[0]
     4787                if od['value_1']:
     4788                    linePos = linePos[-1]-linePos
     4789                LinePos.append(linePos)
    47784790        G2plt.PlotXY(G2frame,XY,labelX=disLabel,labelY=r'$SLD,\ 10^{10}cm^{-2}$',newPlot=True,   
    4779                       Title='Scattering length density',lines=True,names=[])
     4791                      Title='Scattering length density',lines=True,names=[],vertLines=LinePos)
    47804792       
    47814793    def OnFitModelAll(event):
     
    47884800        for ilay,layer in enumerate(data['Layers'][1:-1]):
    47894801            linePos[ilay+1:] += layer.get('Thick',[0.,False])[0]
    4790         if data['Zero']:
     4802        if data['Zero'] == 'Top':
    47914803            XY = [[x,y],]
    47924804            disLabel = r'$Distance\ from\ top\ surface,\ \AA$'
    47934805        else:
    47944806            XY = [[xr,y],]
     4807            linePos = linePos[-1]-linePos
    47954808            disLabel = r'$Distance\ from\ substrate,\ \AA$'
    47964809        G2plt.PlotXY(G2frame,XY,labelX=disLabel,labelY=r'$SLD,\ 10^{10}cm^{-2}$',newPlot=True,
     
    48334846        def OnMinSel(event):
    48344847            data['Minimizer'] = minSel.GetValue()
     4848           
     4849        def OnWeight(event):
     4850            data['2% weight'] = weight.GetValue()
    48354851           
    48364852        controlSizer = wx.BoxSizer(wx.VERTICAL)
     
    48544870        minimiz.Add(wx.StaticText(G2frame.dataDisplay,label=' Tolerance: '),0,WACV)
    48554871        minimiz.Add(G2G.ValidatedTxtCtrl(G2frame.dataDisplay,data,'Toler',nDig=(10,1,'g'),typeHint=float),0,WACV)
     4872        weight = wx.CheckBox(G2frame.dataDisplay,label='Use 2% sig. weights')
     4873        weight.SetValue(data.get('2% weight',False))
     4874        weight.Bind(wx.EVT_CHECKBOX, OnWeight)
     4875        minimiz.Add(weight,0,WACV)
     4876       
    48564877    #Recomb':0.5,  needed??     
    48574878        controlSizer.Add(minimiz,0,WACV)
Note: See TracChangeset for help on using the changeset viewer.