Changeset 1776


Ignore:
Timestamp:
Apr 4, 2015 7:31:34 PM (7 years ago)
Author:
vondreele
Message:

remove Copy, Copy flags buttons from Data display; add them as menu items under edit
Clean up DDataGUI
use the IRAD value on the old IPARM file to set teh x-ray source, e.g. CuKa?
fix SC extinction - now more closely matches old GSAS

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r1773 r1776  
    990990            Create and return the contents of the instrument parameter tree entry.
    991991            '''
     992            Irads = {0:' ',1:'CrKa',2:'FeKa',3:'CuKa',4:'MoKa',5:'AgKa',6:'TiKa',7:'CoKa'}
    992993            DataType = Iparm['INS   HTYPE '].strip()[:3]  # take 1st 3 chars
    993994            # override inst values with values read from data file
     
    996997            data = [DataType,]
    997998            instname = Iparm.get('INS  1INAME ')
     999            irad = int(Iparm.get('INS  1 IRAD ','0'))
    9981000            if instname:
    9991001                rd.Sample['InstrName'] = instname.strip()
     
    10401042                        data.extend([0.0,0.0,0.002,azm])                                      #OK defaults if fxn #3 not 1st in iprm file
    10411043                codes.extend([0,0,0,0,0,0,0])
    1042                 return [G2IO.makeInstDict(names,data,codes),{}]
     1044                Iparm1 = G2IO.makeInstDict(names,data,codes)
     1045                Iparm1['Source'] = [Irads[irad],Irads[irad]]
     1046                return [Iparm1,{}]
    10431047            elif 'T' in DataType:
    10441048                names = ['Type','fltPath','2-theta','difC','difA', 'difB','Zero','alpha','beta-0','beta-1',
  • trunk/GSASIIddataGUI.py

    r1773 r1776  
    120120        def OnScaleRef(event):
    121121            Obj = event.GetEventObject()
    122             UseList[Indx[Obj.GetId()]]['Scale'][1] = Obj.GetValue()
     122            UseList[hist]['Scale'][1] = Obj.GetValue()
    123123           
    124124        def OnScaleVal(event):
     
    127127                scale = float(Obj.GetValue())
    128128                if scale > 0:
    129                     UseList[Indx[Obj.GetId()]]['Scale'][0] = scale
     129                    UseList[hist]['Scale'][0] = scale
    130130            except ValueError:
    131131                pass
    132             Obj.SetValue("%.4f"%(UseList[Indx[Obj.GetId()]]['Scale'][0]))          #reset in case of error
     132            Obj.SetValue("%.4f"%(UseList[hist]['Scale'][0]))          #reset in case of error
    133133                       
    134134        scaleSizer = wx.BoxSizer(wx.HORIZONTAL)
     
    138138            scaleRef = wx.CheckBox(DData,-1,label=' Scale factor: ')               
    139139        scaleRef.SetValue(UseList[hist]['Scale'][1])
    140         Indx[scaleRef.GetId()] = hist
    141140        scaleRef.Bind(wx.EVT_CHECKBOX, OnScaleRef)
    142141        scaleSizer.Add(scaleRef,0,WACV)
    143142        scaleVal = wx.TextCtrl(DData,wx.ID_ANY,
    144143            '%.4f'%(UseList[hist]['Scale'][0]),style=wx.TE_PROCESS_ENTER)
    145         Indx[scaleVal.GetId()] = hist
    146144        scaleVal.Bind(wx.EVT_TEXT_ENTER,OnScaleVal)
    147145        scaleVal.Bind(wx.EVT_KILL_FOCUS,OnScaleVal)
     
    151149    def OnUseData(event):
    152150        Obj = event.GetEventObject()
    153         hist = Indx[Obj.GetId()]
    154151        UseList[hist]['Use'] = Obj.GetValue()
    155152       
    156     def OnCopyData(event):
    157         Obj = event.GetEventObject()
    158         hist = Indx[Obj.GetId()]
    159         sourceDict = UseList[hist]
    160         if 'HKLF' in sourceDict['Histogram']:
    161             copyNames = ['Scale','Extinction','Babinet']
    162         else:  #PWDR 
    163             copyNames = ['Scale','Pref.Ori.','Size','Mustrain','HStrain','Extinction','Babinet']
    164         copyDict = {}
    165         for name in copyNames:
    166             copyDict[name] = copy.deepcopy(sourceDict[name])        #force copy
    167         keyList = sorted(UseList.keys())
    168         if UseList:
    169             dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Copy parameters',
    170                 'Copy parameters to which histograms?',
    171                 keyList)
    172             try:
    173                 if dlg.ShowModal() == wx.ID_OK:
    174                     for sel in dlg.GetSelections():
    175                         UseList[keyList[sel]].update(copy.deepcopy(copyDict))
    176                     wx.CallLater(100,UpdateDData,G2frame,DData,data)
    177             finally:
    178                 dlg.Destroy()
    179                
    180     def OnCopyFlags(event):
    181         Obj = event.GetEventObject()
    182         hist = Indx[Obj.GetId()]
    183         sourceDict = UseList[hist]
    184         copyDict = {}
    185         if 'HKLF' in sourceDict['Histogram']:
    186             copyNames = ['Scale','Extinction','Babinet']
    187         else:  #PWDR 
    188             copyNames = ['Scale','Pref.Ori.','Size','Mustrain','HStrain','Extinction','Babinet']
    189         babNames = ['BabA','BabU']
    190         for name in copyNames:
    191             if name in ['Scale','Extinction','HStrain']:
    192                 if name == 'Extinction' and 'HKLF' in sourceDict['Histogram']:
    193                     copyDict[name] = {name:[sourceDict[name][:2]]}
    194                     for item in ['Eg','Es','Ep']:
    195                         copyDict[name][item] = sourceDict[name][2][item][1]
    196                 else:
    197                     copyDict[name] = sourceDict[name][1]
    198             elif name in ['Size','Mustrain']:
    199                 copyDict[name] = [sourceDict[name][0],sourceDict[name][2],sourceDict[name][4]]
    200             elif name == 'Pref.Ori.':
    201                 copyDict[name] = [sourceDict[name][0],sourceDict[name][2]]
    202                 if sourceDict[name][0] == 'SH':
    203                     SHterms = sourceDict[name][5]
    204                     SHflags = {}
    205                     for item in SHterms:
    206                         SHflags[item] = SHterms[item]
    207                     copyDict[name].append(SHflags)
    208             elif name == 'Babinet':
    209                 copyDict[name] = {}
    210                 for bab in babNames:
    211                     copyDict[name][bab] = sourceDict[name][bab][1]                       
    212         keyList = sorted(UseList.keys())
    213         if UseList:
    214             dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Copy parameters',
    215                 'Copy parameters to which histograms?',
    216                 keyList)
    217             try:
    218                 if dlg.ShowModal() == wx.ID_OK:
    219                     for sel in dlg.GetSelections():
    220                         item = keyList[sel]
    221                         UseList[item]
    222                         for name in copyNames:
    223                             if name in ['Scale','Extinction','HStrain']:
    224                                 if name == 'Extinction' and 'HKLF' in sourceDict['Histogram']:
    225                                     UseList[item][name][:2] = copy.deepcopy(sourceDict[name][:2])
    226                                     for itm in ['Eg','Es','Ep']:
    227                                         UseList[item][name][2][itm][1] = copy.deepcopy(copyDict[name][itm])
    228                                 else:
    229                                     UseList[item][name][1] = copy.deepcopy(copyDict[name])
    230                             elif name in ['Size','Mustrain']:
    231                                 UseList[item][name][0] = copy.deepcopy(copyDict[name][0])
    232                                 UseList[item][name][2] = copy.deepcopy(copyDict[name][1])
    233                                 UseList[item][name][4] = copy.deepcopy(copyDict[name][2])
    234                             elif name == 'Pref.Ori.':
    235                                 UseList[item][name][0] = copy.deepcopy(copyDict[name][0])
    236                                 UseList[item][name][2] = copy.deepcopy(copyDict[name][1])
    237                                 if sourceDict[name][0] == 'SH':
    238                                     SHflags = copy.deepcopy(copyDict[name][2])
    239                                     SHterms = copy.deepcopy(sourceDict[name][5])
    240                             elif name == 'Babinet':
    241                                 for bab in babNames:
    242                                     UseList[item][name][bab][1] = copy.deepcopy(copyDict[name][bab])                                             
    243                     wx.CallLater(100,UpdateDData,G2frame,DData,data)
    244             finally:
    245                 dlg.Destroy()
    246                
    247153    def OnLGmixRef(event):
    248154        Obj = event.GetEventObject()
     
    265171    def OnSizeType(event):
    266172        Obj = event.GetEventObject()
    267         hist = Indx[Obj.GetId()]
    268173        UseList[hist]['Size'][0] = Obj.GetValue()
    269174        G2plt.PlotSizeStrainPO(G2frame,data,hist)
     
    303208    def OnSizeAxis(event):           
    304209        Obj = event.GetEventObject()
    305         hist = Indx[Obj.GetId()]
    306210        Saxis = Obj.GetValue().split()
    307211        try:
     
    333237    def OnStrainType(event):
    334238        Obj = event.GetEventObject()
    335         hist = Indx[Obj.GetId()]
    336239        UseList[hist]['Mustrain'][0] = Obj.GetValue()
    337240        wx.CallLater(100,UpdateDData,G2frame,DData,data)
     
    370273    def OnStrainAxis(event):
    371274        Obj = event.GetEventObject()
    372         hist = Indx[Obj.GetId()]
    373275        Saxis = Obj.GetValue().split()
    374276        try:
     
    420322    def OnPOVal(event):
    421323        Obj = event.GetEventObject()
    422         hist = Indx[Obj.GetId()]
    423324        try:
    424325            mdVal = float(Obj.GetValue())
     
    431332    def OnPOAxis(event):
    432333        Obj = event.GetEventObject()
    433         hist = Indx[Obj.GetId()]
    434334        Saxis = Obj.GetValue().split()
    435335        try:
     
    445345    def OnPOOrder(event):
    446346        Obj = event.GetEventObject()
    447         hist = Indx[Obj.GetId()]
    448347        Order = int(Obj.GetValue())
    449348        UseList[hist]['Pref.Ori.'][4] = Order
     
    453352    def OnPOType(event):
    454353        Obj = event.GetEventObject()
    455         hist = Indx[Obj.GetId()]
    456354        if 'March' in Obj.GetValue():
    457355            UseList[hist]['Pref.Ori.'][0] = 'MD'
     
    462360    def OnPORef(event):
    463361        Obj = event.GetEventObject()
    464         hist = Indx[Obj.GetId()]
    465362        UseList[hist]['Pref.Ori.'][2] = Obj.GetValue()
    466363           
     
    476373    def OnExtRef(event):
    477374        Obj = event.GetEventObject()
    478         UseList[Indx[Obj.GetId()]]['Extinction'][1] = Obj.GetValue()
     375        UseList[hist]['Extinction'][1] = Obj.GetValue()
    479376       
    480377    def OnExtVal(event):
     
    483380            ext = float(Obj.GetValue())
    484381            if ext >= 0:
    485                 UseList[Indx[Obj.GetId()]]['Extinction'][0] = ext
     382                UseList[hist]['Extinction'][0] = ext
    486383        except ValueError:
    487384            pass
    488         Obj.SetValue("%.2f"%(UseList[Indx[Obj.GetId()]]['Extinction'][0]))
     385        Obj.SetValue("%.2f"%(UseList[hist]['Extinction'][0]))
    489386
    490387    def OnBabRef(event):
     
    509406            tbar = float(Obj.GetValue())
    510407            if tbar > 0:
    511                 UseList[Indx[Obj.GetId()]]['Extinction'][2]['Tbar'] = tbar
     408                UseList[hist]['Extinction'][2]['Tbar'] = tbar
    512409        except ValueError:
    513410            pass
    514         Obj.SetValue("%.3f"%(UseList[Indx[Obj.GetId()]]['Extinction'][2]['Tbar']))
     411        Obj.SetValue("%.3f"%(UseList[hist]['Extinction'][2]['Tbar']))
    515412
    516413    def OnCos2TM(event):
     
    519416            val = float(Obj.GetValue())
    520417            if 0. < val <= 1.:
    521                 UseList[Indx[Obj.GetId()]]['Extinction'][2]['Cos2TM'] = val
     418                UseList[hist]['Extinction'][2]['Cos2TM'] = val
    522419        except ValueError:
    523420            pass
    524         Obj.SetValue("%.3f"%(UseList[Indx[Obj.GetId()]]['Extinction'][2]['Cos2TM']))
     421        Obj.SetValue("%.3f"%(UseList[hist]['Extinction'][2]['Cos2TM']))
    525422       
    526423    def OnEval(event):
     
    557454            style=wx.CB_READONLY|wx.CB_DROPDOWN)
    558455        sizeType.Bind(wx.EVT_COMBOBOX, OnType)
    559         Indx[sizeType.GetId()] = hist
    560456        topSizer.Add(sizeType)
    561457        topSizer.Add((5,0),0)
     
    610506        h,k,l = UseList[hist][parm][3]
    611507        Axis = wx.TextCtrl(DData,-1,'%3d %3d %3d'%(h,k,l),style=wx.TE_PROCESS_ENTER)
    612         Indx[Axis.GetId()] = hist
    613508        Axis.Bind(wx.EVT_TEXT_ENTER,OnAxis)
    614509        Axis.Bind(wx.EVT_KILL_FOCUS,OnAxis)
     
    700595        POType = wx.ComboBox(DData,wx.ID_ANY,value=POtype,choices=choice,
    701596            style=wx.CB_READONLY|wx.CB_DROPDOWN)
    702         Indx[POType.GetId()] = hist
    703597        POType.Bind(wx.EVT_COMBOBOX, OnPOType)
    704598        poSizer.Add(POType)
     
    707601            poOrder = wx.ComboBox(DData,wx.ID_ANY,value=str(POData[4]),choices=[str(2*i) for i in range(18)],
    708602                style=wx.CB_READONLY|wx.CB_DROPDOWN)
    709             Indx[poOrder.GetId()] = hist
    710603            poOrder.Bind(wx.EVT_COMBOBOX,OnPOOrder)
    711604            poSizer.Add(poOrder,0,WACV)
    712605            poRef = wx.CheckBox(DData,-1,label=' Refine? ')
    713606            poRef.SetValue(POData[2])
    714             Indx[poRef.GetId()] = hist
    715607            poRef.Bind(wx.EVT_CHECKBOX,OnPORef)
    716608            poSizer.Add(poRef,0,WACV)
     
    721613        poRef = wx.CheckBox(DData,-1,label=' March-Dollase ratio: ')
    722614        poRef.SetValue(POData[2])
    723         Indx[poRef.GetId()] = hist
    724615        poRef.Bind(wx.EVT_CHECKBOX,OnPORef)
    725616        poSizer.Add(poRef,0,WACV)
    726617        poVal = wx.TextCtrl(DData,wx.ID_ANY,
    727618            '%.3f'%(POData[1]),style=wx.TE_PROCESS_ENTER)
    728         Indx[poVal.GetId()] = hist
    729619        poVal.Bind(wx.EVT_TEXT_ENTER,OnPOVal)
    730620        poVal.Bind(wx.EVT_KILL_FOCUS,OnPOVal)
     
    733623        h,k,l =POData[3]
    734624        poAxis = wx.TextCtrl(DData,-1,'%3d %3d %3d'%(h,k,l),style=wx.TE_PROCESS_ENTER)
    735         Indx[poAxis.GetId()] = hist
    736625        poAxis.Bind(wx.EVT_TEXT_ENTER,OnPOAxis)
    737626        poAxis.Bind(wx.EVT_KILL_FOCUS,OnPOAxis)
     
    810699        extRef = wx.CheckBox(DData,-1,label=' Extinction: ')
    811700        extRef.SetValue(UseList[hist]['Extinction'][1])
    812         Indx[extRef.GetId()] = hist
    813701        extRef.Bind(wx.EVT_CHECKBOX, OnExtRef)
    814702        extSizer.Add(extRef,0,WACV)
    815703        extVal = wx.TextCtrl(DData,wx.ID_ANY,
    816704            '%.2f'%(UseList[hist]['Extinction'][0]),style=wx.TE_PROCESS_ENTER)
    817         Indx[extVal.GetId()] = hist
    818705        extVal.Bind(wx.EVT_TEXT_ENTER,OnExtVal)
    819706        extVal.Bind(wx.EVT_KILL_FOCUS,OnExtVal)
     
    846733                tbarVal = wx.TextCtrl(DData,wx.ID_ANY,
    847734                    '%.3f'%(UseList[hist]['Extinction'][2]['Tbar']),style=wx.TE_PROCESS_ENTER)
    848                 Indx[tbarVal.GetId()] = hist
    849735                tbarVal.Bind(wx.EVT_TEXT_ENTER,OnTbarVal)
    850736                tbarVal.Bind(wx.EVT_KILL_FOCUS,OnTbarVal)
     
    853739                cos2tm = wx.TextCtrl(DData,wx.ID_ANY,
    854740                    '%.3f'%(UseList[hist]['Extinction'][2]['Cos2TM']),style=wx.TE_PROCESS_ENTER)
    855                 Indx[cos2tm.GetId()] = hist
    856741                cos2tm.Bind(wx.EVT_TEXT_ENTER,OnCos2TM)
    857742                cos2tm.Bind(wx.EVT_KILL_FOCUS,OnCos2TM)
     
    915800    mainSizer = wx.BoxSizer(wx.VERTICAL)
    916801    mainSizer.Add(wx.StaticText(DData,-1,' Histogram data for '+PhaseName+':'),0,WACV)
     802    DData.G2hist = hist         #so can be used in G2phsGUI for Copy, etc.
    917803    if hist != '':
    918804        topSizer = wx.FlexGridSizer(1,2,5,5)
     
    939825            UseList[hist]['Babinet'] = {'BabA':[0.0,False],'BabU':[0.0,False]}
    940826        mainSizer.Add((5,5),0)
    941         mainSizer.Add(wx.StaticText(DData,label=' Histogram: '+hist),0,WACV)
    942827        showSizer = wx.BoxSizer(wx.HORIZONTAL)
    943         useData = wx.CheckBox(DData,-1,label='Use?')
    944         Indx[useData.GetId()] = hist
     828        useData = wx.CheckBox(DData,-1,label='Use Histogram: '+hist+' ?')
    945829        showSizer.Add(useData,0,WACV)
    946830        useData.Bind(wx.EVT_CHECKBOX, OnUseData)
    947831        useData.SetValue(UseList[hist]['Use'])
    948         copyData = wx.Button(DData,-1,label=' Copy?')
    949         Indx[copyData.GetId()] = hist
    950         copyData.Bind(wx.EVT_BUTTON,OnCopyData)
    951         showSizer.Add(copyData,WACV)
    952         copyFlags = wx.Button(DData,-1,label=' Copy flags?')
    953         Indx[copyFlags.GetId()] = hist
    954         copyFlags.Bind(wx.EVT_BUTTON,OnCopyFlags)
    955         showSizer.Add(copyFlags,WACV)
    956832        mainSizer.Add((5,5),0)
    957833        mainSizer.Add(showSizer,0,WACV)
  • trunk/GSASIIgrid.py

    r1772 r1776  
    6767
    6868[ wxID_PWDRADD, wxID_HKLFADD, wxID_PWDANALYSIS, wxID_PWDCOPY, wxID_PLOTCTRLCOPY,
    69     wxID_DATADELETE,
    70 ] = [wx.NewId() for item in range(6)]
     69    wxID_DATADELETE,wxID_DATACOPY,wxID_DATACOPYFLAGS,wxID_DATASELCOPY,
     70] = [wx.NewId() for item in range(9)]
    7171
    7272[ wxID_ATOMSEDITADD, wxID_ATOMSEDITINSERT, wxID_ATOMSEDITDELETE, wxID_ATOMSREFINE,
     
    16621662        self.DataEdit = wx.Menu(title='')
    16631663        self.DataMenu.Append(menu=self.DataEdit, title='Edit')
     1664        self.DataEdit.Append(id=wxID_DATACOPY, kind=wx.ITEM_NORMAL,text='Copy data',
     1665            help='Copy phase data to other histograms')
     1666        self.DataEdit.Append(id=wxID_DATACOPYFLAGS, kind=wx.ITEM_NORMAL,text='Copy flags',
     1667            help='Copy phase data flags to other histograms')
     1668        self.DataEdit.Append(id=wxID_DATASELCOPY, kind=wx.ITEM_NORMAL,text='Copy selected data',
     1669            help='Copy selected phase data to other histograms')
    16641670        self.DataEdit.Append(id=wxID_PWDRADD, kind=wx.ITEM_NORMAL,text='Add powder histograms',
    16651671            help='Select new powder histograms to be used for this phase')
  • trunk/GSASIIphsGUI.py

    r1773 r1776  
    38023802        #G2frame.PatternTree.SetItemPyData(Id,[refDict,reflData]) #removed by BHT -- not needed!
    38033803       
     3804    def OnDataCopy(event):
     3805        UseList = data['Histograms']
     3806        hist = DData.G2hist
     3807        sourceDict = UseList[hist]
     3808        if 'HKLF' in sourceDict['Histogram']:
     3809            copyNames = ['Scale','Extinction','Babinet']
     3810        else:  #PWDR 
     3811            copyNames = ['Scale','Pref.Ori.','Size','Mustrain','HStrain','Extinction','Babinet']
     3812        copyDict = {}
     3813        for name in copyNames:
     3814            copyDict[name] = copy.deepcopy(sourceDict[name])        #force copy
     3815        keyList = sorted(UseList.keys())
     3816        if UseList:
     3817            dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Copy parameters',
     3818                'Copy parameters to which histograms?',
     3819                keyList)
     3820            try:
     3821                if dlg.ShowModal() == wx.ID_OK:
     3822                    for sel in dlg.GetSelections():
     3823                        UseList[keyList[sel]].update(copy.deepcopy(copyDict))
     3824            finally:
     3825                dlg.Destroy()
     3826       
     3827    def OnDataCopyFlags(event):
     3828        UseList = data['Histograms']
     3829        hist = DData.G2hist
     3830        sourceDict = UseList[hist]
     3831        copyDict = {}
     3832        if 'HKLF' in sourceDict['Histogram']:
     3833            copyNames = ['Scale','Extinction','Babinet']
     3834        else:  #PWDR 
     3835            copyNames = ['Scale','Pref.Ori.','Size','Mustrain','HStrain','Extinction','Babinet']
     3836        babNames = ['BabA','BabU']
     3837        for name in copyNames:
     3838            if name in ['Scale','Extinction','HStrain']:
     3839                if name == 'Extinction' and 'HKLF' in sourceDict['Histogram']:
     3840                    copyDict[name] = {name:[sourceDict[name][:2]]}
     3841                    for item in ['Eg','Es','Ep']:
     3842                        copyDict[name][item] = sourceDict[name][2][item][1]
     3843                else:
     3844                    copyDict[name] = sourceDict[name][1]
     3845            elif name in ['Size','Mustrain']:
     3846                copyDict[name] = [sourceDict[name][0],sourceDict[name][2],sourceDict[name][4]]
     3847            elif name == 'Pref.Ori.':
     3848                copyDict[name] = [sourceDict[name][0],sourceDict[name][2]]
     3849                if sourceDict[name][0] == 'SH':
     3850                    SHterms = sourceDict[name][5]
     3851                    SHflags = {}
     3852                    for item in SHterms:
     3853                        SHflags[item] = SHterms[item]
     3854                    copyDict[name].append(SHflags)
     3855            elif name == 'Babinet':
     3856                copyDict[name] = {}
     3857                for bab in babNames:
     3858                    copyDict[name][bab] = sourceDict[name][bab][1]                       
     3859        keyList = sorted(UseList.keys())
     3860        if UseList:
     3861            dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Copy parameters',
     3862                'Copy parameters to which histograms?',
     3863                keyList)
     3864            try:
     3865                if dlg.ShowModal() == wx.ID_OK:
     3866                    for sel in dlg.GetSelections():
     3867                        item = keyList[sel]
     3868                        UseList[item]
     3869                        for name in copyNames:
     3870                            if name in ['Scale','Extinction','HStrain']:
     3871                                if name == 'Extinction' and 'HKLF' in sourceDict['Histogram']:
     3872                                    UseList[item][name][:2] = copy.deepcopy(sourceDict[name][:2])
     3873                                    for itm in ['Eg','Es','Ep']:
     3874                                        UseList[item][name][2][itm][1] = copy.deepcopy(copyDict[name][itm])
     3875                                else:
     3876                                    UseList[item][name][1] = copy.deepcopy(copyDict[name])
     3877                            elif name in ['Size','Mustrain']:
     3878                                UseList[item][name][0] = copy.deepcopy(copyDict[name][0])
     3879                                UseList[item][name][2] = copy.deepcopy(copyDict[name][1])
     3880                                UseList[item][name][4] = copy.deepcopy(copyDict[name][2])
     3881                            elif name == 'Pref.Ori.':
     3882                                UseList[item][name][0] = copy.deepcopy(copyDict[name][0])
     3883                                UseList[item][name][2] = copy.deepcopy(copyDict[name][1])
     3884                                if sourceDict[name][0] == 'SH':
     3885                                   SHflags = copy.deepcopy(copyDict[name][2])
     3886                                   SHterms = copy.deepcopy(sourceDict[name][5])
     3887                                   UseList[item][name][6] = copy.deepcopy(sourceDict[name][6])
     3888                                   UseList[item][name][7] = copy.deepcopy(sourceDict[name][7])
     3889                            elif name == 'Babinet':
     3890                                for bab in babNames:
     3891                                    UseList[item][name][bab][1] = copy.deepcopy(copyDict[name][bab])                                             
     3892            finally:
     3893                dlg.Destroy()
     3894               
     3895       
     3896    def OnSelDataCopy(event):
     3897        print 'selected data copy'
     3898        event.Skip()
     3899       
    38043900    def OnPwdrAdd(event):
    38053901        generalData = data['General']
     
    38283924                        Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,histoName)
    38293925                        UseList[histoName] = {'Histogram':histoName,'Show':False,
    3830                             'Scale':[1.0,False],'Pref.Ori.':['MD',1.0,False,[0,0,1],0,{}],
     3926                            'Scale':[1.0,False],'Pref.Ori.':['MD',1.0,False,[0,0,1],0,{},[],0.1],
    38313927                            'Size':['isotropic',[1.,1.,1.],[False,False,False],[0,0,1],
    38323928                                [1.,1.,1.,0.,0.,0.],6*[False,]],
     
    58745970        # Data
    58755971        FillSelectPageMenu(TabSelectionIdDict, G2frame.dataFrame.DataMenu)
     5972        G2frame.dataFrame.Bind(wx.EVT_MENU, OnDataCopy, id=G2gd.wxID_DATACOPY)
     5973        G2frame.dataFrame.Bind(wx.EVT_MENU, OnDataCopyFlags, id=G2gd.wxID_DATACOPYFLAGS)
     5974        G2frame.dataFrame.Bind(wx.EVT_MENU, OnSelDataCopy, id=G2gd.wxID_DATASELCOPY)
    58765975        G2frame.dataFrame.Bind(wx.EVT_MENU, OnPwdrAdd, id=G2gd.wxID_PWDRADD)
    58775976        G2frame.dataFrame.Bind(wx.EVT_MENU, OnHklfAdd, id=G2gd.wxID_HKLFADD)
  • trunk/GSASIIpwdGUI.py

    r1770 r1776  
    13421342                    if 'Source' not in data: data['Source'] = ['CuKa','?']
    13431343                    choice = ['TiKa','CrKa','FeKa','CoKa','CuKa','MoKa','AgKa']
    1344                     lamPick = wx.ComboBox(G2frame.dataDisplay,value=data['Source'][1],choices=choice,style=wx.CB_READONLY|wx.CB_DROPDOWN)
     1344                    lamPick = wx.ComboBox(G2frame.dataDisplay,value=data['Source'][0],choices=choice,style=wx.CB_READONLY|wx.CB_DROPDOWN)
    13451345                    lamPick.Bind(wx.EVT_COMBOBOX, OnLamPick)
    13461346                    waveSizer.Add(lamPick,0)
     
    29652965                G2frame.dataFrame.SelectPhase.Enable(True)
    29662966            try:            #patch for old reflection lists
     2967                if not len(data[phaseName]):
     2968                    return None
    29672969                refList = np.array(data[phaseName]['RefList'])
    29682970                I100 = refList.T[8+Super]*refList.T[11+Super]
  • trunk/GSASIIstrMath.py

    r1775 r1776  
    389389                            pVals.append(Z1[ind[0]][ind[1]])
    390390                            pWt.append(wt/esd1**2)
    391                             pWsum[name] += wt*(-Z1[ind[0]][ind[1]]/esd)**2
     391                            pWsum[name] += wt*(-Z1[ind[0]][ind[1]]/esd1)**2
    392392                        if ifesd2:
    393393                            Z2 = 1.-Z
     
    396396                                pVals.append(Z1[ind[0]][ind[1]])
    397397                                pWt.append(wt/esd2**2)
    398                                 pWsum[name] += wt*((obs-calc)/esd)**2
     398                                pWsum[name] += wt*(Z2/esd2)**2
    399399       
    400400        name = 'SH-Pref.Ori.'
     
    534534                        pass
    535535       
     536#        lasthkl = np.array([0,0,0])
    536537#        for ip,pName in enumerate(pNames):
     538#            deriv = []
     539#            dNames = []
     540#            if np.any(lasthkl-hkl):
     541#                PH = np.array(hkl)
     542#                phi,beta = G2lat.CrsAng(np.array(hkl),cell,SGData)
     543#                ODFln = G2lat.Flnh(False,SHCoef,phi,beta,SGData)
     544#                lasthkl = copy.copy(hkl)                       
     545
     546#                        gam = float(pnames[3])
     547#                        psi = float(pnames[4])
     548#                        for SHname in ODFln:
     549#                            l,m,n = eval(SHname[1:])
     550#                            Ksl = G2lat.GetKsl(l,m,sam,psi,gam)[0]
     551#                            dNames += [str(pId)+'::'+SHname]
     552#                            deriv.append(-ODFln[SHname][0]*Ksl/SHCoef[SHname])
     553#                for dName,drv in zip(dNames,deriv):
     554#                    try:
     555#                        ind = varyList.index(dName)
     556#                        pDerv[ind][ip] += drv
     557#                    except ValueError:
     558#                        pass
    537559#            pnames = pNames.split(':')
    538560#            if 'SH-' in pName and pId == int(pnames[0]):
    539 #                name = pnames[2]
    540 #                L,N = eval(name.strip('C'))
    541561#                hId = int(pnames[1])
    542562#                phfx = '%d:%d:'%(pId,hId)
     
    547567#                SHcofNames = Phases[phase]['Histograms'][hist]['Pref.Ori.'][5].keys()
    548568#                SHcof = dict(zip(SHcofNames,[parmDict[phfx+cof] for cof in SHcofNames]))
    549 #           
     569#     
     570#                L,N = eval(name.strip('C'))
     571       
    550572#            raise Exception
    551573
     
    10861108            PL = np.sqrt(1.0-cos2T**2)/parmDict[hfx+'Lam']
    10871109            P12 = (calcControls[phfx+'Cos2TM']+cos2T**4)/(calcControls[phfx+'Cos2TM']+cos2T**2)
    1088             PLZ = AV*P12*ref[7+im]*parmDict[hfx+'Lam']**2
     1110            PLZ = AV*P12*ref[9+im]*parmDict[hfx+'Lam']**2
    10891111        elif 'SNT' in parmDict[hfx+'Type']:
    10901112            AV = 1.e7/parmDict[pfx+'Vol']**2
    10911113            PL = SQ
    1092             PLZ = AV*ref[7+im]*ref[12+im]**2
     1114            PLZ = AV*ref[9+im]*ref[12+im]**2
    10931115        elif 'SNC' in parmDict[hfx+'Type']:
    10941116            AV = 1.e7/parmDict[pfx+'Vol']**2
    10951117            PL = np.sqrt(1.0-cos2T**2)/parmDict[hfx+'Lam']
    1096             PLZ = AV*ref[9]*parmDict[hfx+'Lam']**2      #Fcsq as per GSAS, why not FcTsq (ref[9])?
     1118            PLZ = AV*ref[9+im]*parmDict[hfx+'Lam']**2
    10971119           
    10981120        if 'Primary' in calcControls[phfx+'EType']:
Note: See TracChangeset for help on using the changeset viewer.