Changeset 620


Ignore:
Timestamp:
May 17, 2012 7:52:59 PM (9 years ago)
Author:
vondreele
Message:

remove excessive tabs in source code
fix HKL controls GUI
change HKL reflection record to match the PWDR one
start getting HKLF into fourier & charge flip

Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r619 r620  
    128128        parent.Append(menu=self.Import, title='Import')
    129129        parent.Append(menu=self.Export, title='Export')
    130         self.HelpMenu=G2gd.MyHelp(self,
    131                                   helpType='Data tree',
    132                                   morehelpitems=[('&Tutorials','Tutorials')]
    133                                   )
     130        self.HelpMenu=G2gd.MyHelp(self,helpType='Data tree',
     131            morehelpitems=[('&Tutorials','Tutorials')])
    134132        parent.Append(menu=self.HelpMenu,title='&Help')
    135133       
     
    466464        # look up which format was requested
    467465        reqrdr = self.ImportMenuId.get(event.GetId())
    468         rdlist = self.OnImportGeneric(reqrdr,
    469                                   self.ImportSfactReaderlist,
    470                                   'Structure Factor')
     466        rdlist = self.OnImportGeneric(reqrdr,self.ImportSfactReaderlist,
     467            'Structure Factor')
    471468        if len(rdlist) == 0: return
    472469        self.CheckNotebook()
  • trunk/GSASIIIO.py

    r616 r620  
    14711471    '''Defines a base class for the reading of files with coordinates
    14721472    '''
    1473     def __init__(self,
    1474                  formatName,
    1475                  longFormatName=None,
    1476                  extensionlist=[],
    1477                  strictExtension=False,
    1478                  ):
     1473    def __init__(self,formatName,longFormatName=None,extensionlist=[],
     1474        strictExtension=False,):
    14791475        # call parent __init__
    1480         ImportBaseclass.__init__(self,formatName,
    1481                                             longFormatName,
    1482                                             extensionlist,
    1483                                             strictExtension)
     1476        ImportBaseclass.__init__(self,formatName,longFormatName,
     1477            extensionlist,strictExtension)
    14841478        # define a default Phase structure
    14851479        self.Phase = SetNewPhase(Name='new phase',SGData=SGData)
    14861480
    14871481    def PhaseSelector(self, ChoiceList, ParentFrame=None,
    1488                       title='Select a phase', size=None,
    1489                       header='Phase Selector'):
     1482        title='Select a phase', size=None,header='Phase Selector'):
    14901483        ''' Provide a wx dialog to select a phase if the file contains more
    14911484        than one phase
    14921485        '''
    1493         return self.BlockSelector(ChoiceList,
    1494                                   ParentFrame,
    1495                                   title,
    1496                                   size,
    1497                                   header)
     1486        return self.BlockSelector(ChoiceList,ParentFrame,title,
     1487            size,header)
    14981488
    14991489######################################################################
     
    15021492    of structure factors
    15031493    '''
    1504     def __init__(self,
    1505                  formatName,
    1506                  longFormatName=None,
    1507                  extensionlist=[],
    1508                  strictExtension=False,
    1509                  ):
    1510         ImportBaseclass.__init__(self,formatName,
    1511                                             longFormatName,
    1512                                             extensionlist,
    1513                                             strictExtension)
     1494    def __init__(self,formatName,longFormatName=None,extensionlist=[],
     1495        strictExtension=False,):
     1496        ImportBaseclass.__init__(self,formatName,longFormatName,
     1497            extensionlist,strictExtension)
    15141498
    15151499        # define contents of Structure Factor entry
     
    15391523        if Wave is not None:
    15401524            HistWave = Wave
    1541         self.Parameters = [ # overwrite entire list
    1542             (HistType,HistWave),
    1543             [HistType,HistWave],
    1544             ['Type','Lam']
    1545             ]
     1525        self.Parameters = [(HistType,HistWave),[HistType,HistWave],  # overwrite entire list
     1526            ['Type','Lam']]
    15461527           
    15471528    def UpdateControls(self,Type='Fosq',FcalcPresent=False):
     
    15491530        '''
    15501531        self.Controls['Type'] = Type
    1551         self.Controls['iffc'] = FcalcPresent
     1532        self.Controls['ifFc'] = FcalcPresent
    15521533        HKLmax = [None,None,None]
    15531534        HKLmin = [None,None,None]
    15541535        Fo2max = None
    1555         for HKL,Fo2,SFo2,Fc,Fcp,Fcpp,phase in self.RefList:
     1536        for refl in self.RefList:
     1537            HKL = refl[:3]
    15561538            if Fo2max is None:
    1557                 Fo2max = Fo2
     1539                Fo2max = refl[8]
    15581540            else:
    1559                 Fo2max = max(Fo2max,Fo2)
     1541                Fo2max = max(Fo2max,refl[8])
    15601542            for i,hkl in enumerate(HKL):
    15611543                if HKLmax[i] is None:
  • trunk/GSASIIgrid.py

    r612 r620  
    16401640    def OnSelZone(event):
    16411641        data['Zone'] = zoneSel.GetValue()
     1642        izone = zones.index(data['Zone'])
     1643        layerSel.SetRange(maxValue=HKLmax[izone],minValue=HKLmin[izone])
    16421644        G2plt.PlotSngl(G2frame,newPlot=True)
    16431645       
     
    16471649       
    16481650    def SetStatusLine():
    1649         Status.SetStatusText("look at me!!!")
     1651        Status.SetStatusText("")
    16501652                                     
    16511653    if G2frame.dataDisplay:
     
    16631665    G2frame.dataDisplay = wx.Panel(G2frame.dataFrame)
    16641666    G2frame.dataFrame.SetMenuBar(G2frame.dataFrame.BlankMenu)
     1667    G2frame.dataFrame.SetTitle('HKL Plot Controls')
    16651668    mainSizer = wx.BoxSizer(wx.VERTICAL)
    16661669    mainSizer.Add((5,10),0)
     
    16691672    scaleSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' Scale'),0,
    16701673        wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)
    1671     scaleSel = wx.Slider(parent=G2frame.dataDisplay,maxValue=1000,minValue=100,
     1674    scaleSel = wx.Slider(parent=G2frame.dataDisplay,maxValue=1000,minValue=1,
    16721675        style=wx.SL_HORIZONTAL,value=int(data['Scale']*100))
    16731676    scaleSizer.Add(scaleSel,1,wx.EXPAND|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL)
    1674     scaleSel.SetLineSize(100)
    1675     scaleSel.SetPageSize(900)
     1677    scaleSel.SetLineSize(10)
     1678    scaleSel.SetPageSize(10)
    16761679    scaleSel.Bind(wx.EVT_SLIDER, OnScaleSlider)
    1677     mainSizer.Add(scaleSizer,1,wx.EXPAND|wx.RIGHT)
     1680    mainSizer.Add(scaleSizer,0,wx.EXPAND|wx.RIGHT)
     1681    mainSizer.Add((0,10),0)   
    16781682   
    16791683    zoneSizer = wx.BoxSizer(wx.HORIZONTAL)
     
    16911695    zoneSizer.Add(typeSel,0,wx.ALIGN_CENTER_VERTICAL)
    16921696    zoneSizer.Add((10,0),0)   
    1693     mainSizer.Add(zoneSizer,1,wx.EXPAND|wx.RIGHT)
     1697    mainSizer.Add(zoneSizer,0,wx.EXPAND|wx.RIGHT)
     1698    mainSizer.Add((0,10),0)   
    16941699       
    16951700    izone = zones.index(data['Zone'])
     
    17001705        style=wx.SL_HORIZONTAL|wx.SL_AUTOTICKS|wx.SL_LABELS,value=0)
    17011706    layerSel.SetLineSize(1)
    1702     layerSel.SetLineSize(5)
     1707    layerSel.SetPageSize(1)
    17031708    layerSel.Bind(wx.EVT_SLIDER, OnLayerSlider)   
    17041709    layerSizer.Add(layerSel,1,wx.EXPAND|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL)
  • trunk/GSASIImath.py

    r584 r620  
    115115            try:
    116116                Xvec = nl.solve(Amatlam,Yvec)
    117             except LinAlgError:
     117            except nl.LinAlgError:
    118118                print 'ouch #1'
    119                 psing = list(np.where(np.diag(nl.gr(Amatlam)[1]) < 1.e-14)[0])
     119                psing = list(np.where(np.diag(nl.qr(Amatlam)[1]) < 1.e-14)[0])
    120120                return [x0,None,{'num cyc':icycle,'fvec':M,'nfev':nfev,'lamMax':lamMax,'psing':psing}]
    121121            Xvec /= Adiag
     
    524524def FourierMap(data,reflData):
    525525   
    526 #    import scipy.fftpack as fft
    527526    import numpy.fft as fft
    528527    generalData = data['General']
     
    608607        Uniq = np.array(Uniq,dtype='i')+hklHalf
    609608        print hkl-hklHalf
     609        Fh0 = Fhkl[hkl[0],hkl[1],hkl[2]]
     610        ph0 = np.angle(Fh0,deg=True)/360.
    610611        for j,H in enumerate(Uniq):
    611612            Fh = Fhkl[H[0],H[1],H[2]]
    612613            h,k,l = H-hklHalf
    613             print '(%3d,%3d,%3d) %5.2f %9.5f'%(h,k,l,phi[j],np.angle(Fh,deg=True))       
     614            ang = np.angle(Fh,deg=True)/360.-ph0
     615            print '(%3d,%3d,%3d) %5.2f %9.5f %9.5f'%(h,k,l,phi[j],np.angle(Fh,deg=True)/360.,ang)       
    614616        i += 1
    615617       
     
    646648                SQ = 0.25/dsp**2
    647649                ff *= G2el.ScatFac(FFtable,SQ)[0]
    648             E = np.sqrt(ref[8])/ff
     650            if ref[8] > 0.:
     651                E = np.sqrt(ref[8])/ff
     652            else:
     653                E = 0.
    649654            ph = ref[10]
    650655            ph = rn.uniform(0.,360.)
  • trunk/GSASIIphsGUI.py

    r612 r620  
    2727import GSASIIstruct as G2str
    2828import GSASIImath as G2mth
     29import GSASIIpwd as G2pwd
    2930import numpy as np
    3031import numpy.linalg as nl
     
    794795            flipRes.Bind(wx.EVT_KILL_FOCUS,OnResVal)
    795796            line2Sizer.Add(flipRes,0,wx.ALIGN_CENTER_VERTICAL)
    796             line2Sizer.Add(wx.StaticText(dataDisplay,label=' k-Factor (0.2-1.2) %: '),0,wx.ALIGN_CENTER_VERTICAL)
     797            line2Sizer.Add(wx.StaticText(dataDisplay,label=' k-Factor (0.2-1.2): '),0,wx.ALIGN_CENTER_VERTICAL)
    797798            kFactor =  wx.TextCtrl(dataDisplay,value='%.3f'%(Flip['k-factor']),style=wx.TE_PROCESS_ENTER)
    798799            kFactor.Bind(wx.EVT_TEXT_ENTER,OnkFactor)       
     
    32593260        for item in keyList:
    32603261            histData = UseList[item]
    3261 ###### Patch to add LGmix to Size & Mustrain
    3262             if len(histData['Size'][1]) == 2:
    3263                 histData['Size'][1].append(1.0)
    3264                 histData['Size'][2].append(False)
    3265                 histData['Mustrain'][1].append(1.0)
    3266                 histData['Mustrain'][2].append(False)
    3267                 UseList[item] = histData
    3268 ###### end patch
     3262####### Patch to add LGmix to Size & Mustrain
     3263#            if len(histData['Size'][1]) == 2:
     3264#                histData['Size'][1].append(1.0)
     3265#                histData['Size'][2].append(False)
     3266#                histData['Mustrain'][1].append(1.0)
     3267#                histData['Mustrain'][2].append(False)
     3268#                UseList[item] = histData
     3269####### end patch
    32693270            showSizer = wx.BoxSizer(wx.HORIZONTAL)
    32703271            showData = wx.CheckBox(DData,-1,label=' Show '+item)
     
    35423543        else:
    35433544            wave = Inst['Lam1']
    3544        
    35453545        posCorr = Inst['Zero']
    35463546        const = 9.e-2/(np.pi*Sample['Gonio. radius'])                  #shifts in microns
     
    35553555            indx = np.searchsorted(xdata[0],pos)
    35563556            try:
    3557                 ref[6] = xdata[1][indx]
     3557                ref[6] = xdata[1][indx]/ref[3]
     3558                pola,dIdPola = G2pwd.Polarization(Inst['Polariz.'],xdata[0][indx],0.0)
     3559                ref[6] /= pola
    35583560            except IndexError:
    35593561                pass
     
    36403642            reflData = reflSets[phaseName]
    36413643        elif 'HKLF' in reflName:
    3642             print 'single crystal reflections'
    3643             return
     3644            PatternId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root, reflName)
     3645            reflData = G2frame.PatternTree.GetItemPyData(PatternId)
    36443646        mapData.update(G2mth.FourierMap(data,reflData))
    36453647        mapData['Flip'] = False
     
    37203722            reflData = reflSets[phaseName]
    37213723        elif 'HKLF' in reflName:
    3722             print 'single crystal reflections'
    3723             return
     3724            PatternId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root, reflName)
     3725            reflData = G2frame.PatternTree.GetItemPyData(PatternId)
    37243726        else:
    37253727            print '**** ERROR - No data defined for charge flipping'
  • trunk/GSASIIplot.py

    r612 r620  
    260260    HKL = []
    261261    HKLF = []
    262     for H,Fosq,sig,Fcsq,x,x,x in HKLref:
     262    for refl in HKLref:   
     263        H = np.array(refl[:3])
     264        sig,Fosq,Fcsq = refl[7:10]
    263265        HKL.append(H)
    264266        HKLF.append([Fosq,sig,Fcsq])
     
    23142316    shiftDown = False
    23152317    ctrlDown = False
     2318    global sumroll
     2319    sumroll = np.zeros(3)
    23162320   
    23172321    def OnKeyBox(event):
     
    25412545       
    25422546    def SetMapRoll(newxy):
     2547        global sumroll
    25432548        anglex,angley,anglez,oldxy = drawingData['Rotation']
    25442549        Rx = G2lat.rotdMat(anglex,0)
     
    25502555        dxy = np.array(dxy*rho.shape)
    25512556        roll = np.where(dxy>0.5,1,np.where(dxy<-.5,-1,0))
     2557        sumroll += roll
    25522558        mapData['rho'] = np.roll(np.roll(np.roll(rho,roll[0],axis=0),roll[1],axis=1),roll[2],axis=2)
     2559#        print 'sumroll',sumroll,rho.shape      #useful debug?
    25532560        drawingData['Rotation'][3] = list(newxy)
    25542561       
  • trunk/GSASIIstruct.py

    r612 r620  
    424424        HKLFdata = single crystal data list of reflections: for each reflection:
    425425            HKLF = [np.array([h,k,l]),FoSq,sigFoSq,FcSq,Fcp,Fcpp,phase]
     426            need this [h,k,l,mul,d,pos,0.0,0.0,0.0,0.0,0.0,Uniq,phi,0.0,{}]
    426427    '''
    427428    fl = open(GPXfile,'rb')
     
    495496        refI = int(varyI.split(':')[-1])
    496497        ih,ik,il = PawleyRef[refI][:3]
     498        dspI = PawleyRef[refI][4]
    497499        for varyJ in pawleyVary[i+1:]:
    498500            refJ = int(varyJ.split(':')[-1])
    499501            jh,jk,jl = PawleyRef[refJ][:3]
     502            dspJ = PawleyRef[refJ][4]
    500503            if SGLaue in ['4/m','4/mmm']:
    501504                isum = ih**2+ik**2
     
    519522                jsum = jh**2+jk**2+jl**2
    520523                if isum == jsum:
    521                     eqvDict[varyI].append(varyJ)
     524                    eqvDict[varyI].append(varyJ)
     525#            if abs(dspI-dspJ) < 3.e-4:
     526#                eqvDict[varyI].append(varyJ)
    522527    for item in pawleyVary:
    523528        if eqvDict[item]:
     
    17461751################################################################################
    17471752
    1748 def getPenalties():
    1749     return []
    1750    
    1751 def penaltyFxn(penalties):
    1752     return []
    1753    
    1754 def penaltyDeriv(penalties):
    1755     return []
     1753def penaltyFxn(parmDict,varyList):
     1754    pFxn = np.zeros(len(varyList))
     1755    for i,item in enumerate(varyList):
     1756        if 'PWLref' in item and parmDict[item] < 0.:
     1757            pFxn[i] = -parmDict[item]
     1758    return pFxn
     1759   
     1760def penaltyDeriv(parmDict,varyList):
     1761    pDerv = np.zeros(len(varyList))
     1762    for i,item in enumerate(varyList):
     1763        if 'PWLref' in item and parmDict[item] < 0.:
     1764            pDerv[i] += -1./parmDict[item]
     1765    return pDerv
    17561766
    17571767################################################################################
     
    27422752    return dMdv
    27432753
    2744 def dervRefine(values,HistoPhases,penalties,parmdict,varylist,calcControls,pawleyLookup,dlg):
     2754def dervRefine(values,HistoPhases,parmdict,varylist,calcControls,pawleyLookup,dlg):
    27452755    parmdict.update(zip(varylist,values))
    27462756    G2mv.Dict2Map(parmdict,varylist)
     
    27652775            else:
    27662776                dMdv = dMdvh
    2767     if penalties:
    2768         dmdv = np.concatenate((dmdv.T,penaltyDeriv(penalties).T)).T
     2777#    dpdv = penaltyDeriv(parmdict,varylist)
     2778#    dMdv = np.concatenate((dMdv.T,np.outer(dpdv,dpdv))).T
    27692779    return dMdv
    27702780
    2771 #def ComputePowderHessian(args):
    2772 #    Histogram,parmdict,varylist,Phases,calcControls,pawleyLookup = args
    2773 #    hId = Histogram['hId']
    2774 #    hfx = ':%d:'%(hId)
    2775 #    Limits = calcControls[hfx+'Limits']
    2776 #    x,y,w,yc,yb,yd = Histogram['Data']
    2777 #    dy = y-yc
    2778 #    xB = np.searchsorted(x,Limits[0])
    2779 #    xF = np.searchsorted(x,Limits[1])
    2780 #    dMdvh = np.sqrt(w[xB:xF])*getPowderProfileDerv(
    2781 #        parmdict,x[xB:xF],
    2782 #        varylist,Histogram,Phases,calcControls,pawleyLookup)
    2783 #    Vec = np.sum(dMdvh*np.sqrt(w[xB:xF])*dy[xB:xF],axis=1)
    2784 #    Hess = np.inner(dMdvh,dMdvh)
    2785 #    return Vec,Hess
    2786 #
    2787 def HessRefine(values,HistoPhases,penalties,parmdict,varylist,calcControls,pawleyLookup,dlg):
     2781def HessRefine(values,HistoPhases,parmdict,varylist,calcControls,pawleyLookup,dlg):
    27882782    parmdict.update(zip(varylist,values))
    27892783    G2mv.Dict2Map(parmdict,varylist)
     
    28132807                Vec = np.sum(dMdvh*np.sqrt(w[xB:xF])*dy[xB:xF],axis=1)
    28142808                Hess = np.inner(dMdvh,dMdvh)
     2809#    dpdv = penaltyDeriv(parmdict,varylist)
     2810#    Vec += dpdv*penaltyFxn(parmdict,varylist)
     2811#    Hess += np.outer(dpdv,dpdv)
    28152812    return Vec,Hess
    28162813
    2817 #def ComputePowderProfile(args):
    2818 #    Histogram,parmdict,varylist,Phases,calcControls,pawleyLookup = args
    2819 #    hId = Histogram['hId']
    2820 #    hfx = ':%d:'%(hId)
    2821 #    x,y,w,yc,yb,yd = Histogram['Data']
    2822 #    Limits = calcControls[hfx+'Limits']
    2823 #    xB = np.searchsorted(x,Limits[0])
    2824 #    xF = np.searchsorted(x,Limits[1])
    2825 #    yc,yb = getPowderProfile(parmdict,x[xB:xF],varylist,Histogram,Phases,
    2826 #        calcControls,pawleyLookup)
    2827 #    return xB,xF,yc,yb,Histogram['Reflection Lists']
    2828 #
    2829 def errRefine(values,HistoPhases,penalties,parmdict,varylist,calcControls,pawleyLookup,dlg):       
     2814def errRefine(values,HistoPhases,parmdict,varylist,calcControls,pawleyLookup,dlg):       
    28302815    parmdict.update(zip(varylist,values))
    28312816    Values2Dict(parmdict, varylist, values)
     
    28712856            parmDict['saved values'] = values
    28722857            raise Exception         #Abort!!
    2873     if penalties:
    2874         M = np.concatenate((M,penaltyFxn(penalties)))
     2858#    M = np.concatenate((M,penaltyFxn(parmdict,varylist)))
    28752859    return M
    28762860                       
     
    29352919        begin = time.time()
    29362920        values =  np.array(Dict2Values(parmDict, varyList))
    2937         penalties = getPenalties()
    29382921        Ftol = Controls['min dM/M']
    29392922        Factor = Controls['shift factor']
     
    29422925            result = so.leastsq(errRefine,values,Dfun=dervRefine,full_output=True,
    29432926                ftol=Ftol,col_deriv=True,factor=Factor,
    2944                 args=([Histograms,Phases],penalties,parmDict,varyList,calcControls,pawleyLookup,dlg))
     2927                args=([Histograms,Phases],parmDict,varyList,calcControls,pawleyLookup,dlg))
    29452928            ncyc = int(result[2]['nfev']/2)
    29462929        elif 'Hessian' in Controls['deriv type']:
    29472930            result = G2mth.HessianLSQ(errRefine,values,Hess=HessRefine,ftol=Ftol,maxcyc=maxCyc,
    2948                 args=([Histograms,Phases],penalties,parmDict,varyList,calcControls,pawleyLookup,dlg))
     2931                args=([Histograms,Phases],parmDict,varyList,calcControls,pawleyLookup,dlg))
    29492932            ncyc = result[2]['num cyc']+1
    29502933            Rvals['lamMax'] = result[2]['lamMax']                           
    29512934        else:           #'numeric'
    29522935            result = so.leastsq(errRefine,values,full_output=True,ftol=Ftol,epsfcn=1.e-8,factor=Factor,
    2953                 args=([Histograms,Phases],penalties,parmDict,varyList,calcControls,pawleyLookup,dlg))
     2936                args=([Histograms,Phases],parmDict,varyList,calcControls,pawleyLookup,dlg))
    29542937            ncyc = int(result[2]['nfev']/len(varyList))
    29552938#        table = dict(zip(varyList,zip(values,result[0],(result[0]-values))))
     
    31213104            begin = time.time()
    31223105            values =  np.array(Dict2Values(parmDict,varyList))
    3123             penalties = getPenalties()
    31243106            Ftol = Controls['min dM/M']
    31253107            Factor = Controls['shift factor']
     
    31293111                result = so.leastsq(errRefine,values,Dfun=dervRefine,full_output=True,
    31303112                    ftol=Ftol,col_deriv=True,factor=Factor,
    3131                     args=([Histo,Phases],penalties,parmDict,varyList,calcControls,pawleyLookup,dlg))
     3113                    args=([Histo,Phases],parmDict,varyList,calcControls,pawleyLookup,dlg))
    31323114                ncyc = int(result[2]['nfev']/2)
    31333115            elif 'Hessian' in Controls['deriv type']:
    31343116                result = G2mth.HessianLSQ(errRefine,values,Hess=HessRefine,ftol=Ftol,maxcyc=maxCyc,
    3135                     args=([Histo,Phases],penalties,parmDict,varyList,calcControls,pawleyLookup,dlg))
     3117                    args=([Histo,Phases],parmDict,varyList,calcControls,pawleyLookup,dlg))
    31363118                ncyc = result[2]['num cyc']+1                           
    31373119            else:           #'numeric'
    31383120                result = so.leastsq(errRefine,values,full_output=True,ftol=Ftol,epsfcn=1.e-8,factor=Factor,
    3139                     args=([Histo,Phases],penalties,parmDict,varyList,calcControls,pawleyLookup,dlg))
     3121                    args=([Histo,Phases],parmDict,varyList,calcControls,pawleyLookup,dlg))
    31403122                ncyc = int(result[2]['nfev']/len(varyList))
    31413123
     
    32263208    Factor = DisAglCtls['Factors']
    32273209    Radii = dict(zip(DisAglCtls['AtomTypes'],zip(DisAglCtls['BondRadii'],DisAglCtls['AngleRadii'])))
    3228 #    Units = np.array([                   #is there a nicer way to make this?
    3229 #        [-1,-1,-1],[-1,-1,0],[-1,-1,1],[-1,0,-1],[-1,0,0],[-1,0,1],[-1,1,-1],[-1,1,0],[-1,1,1],
    3230 #        [0,-1,-1],[0,-1,0],[0,-1,1],[0,0,-1],[0,0,0],[0,0,1],[0,1,-1],[0,1,0],[0,1,1],
    3231 #        [1,-1,-1],[1,-1,0],[1,-1,1],[1,0,-1],[1,0,0],[1,0,1],[1,1,-1],[1,1,0],[1,1,1]])
    32323210    indices = (-1,0,1)
    32333211    Units = np.array([[h,k,l] for h in indices for k in indices for l in indices])
  • trunk/imports/G2sfact.py

    r614 r620  
    4646                Fo = float(Fo)
    4747                sigFo = float(sigFo)
    48                 self.RefList.append([HKL,Fo**2,2.*Fo*sigFo,0,0,0,0])  # HKL. Fo**2, sig(Fo**2), Fc, Fcp, Fcpp & phase
    49                 #print HKL,Fo**2,2.*Fo*sigFo
     48                self.RefList.append([h,k,l,0,0,0,0,2.*Fo*sigFo,Fo**2,0,0,[],[],0,{}])
    5049            self.UpdateControls(Type='Fosq',FcalcPresent=False) # set Fobs type & if Fcalc values are loaded
    5150            self.UpdateParameters(Type='SXC',Wave=None) # histogram type
  • trunk/imports/G2sfact_CIF.py

    r615 r620  
    2020    def __init__(self):
    2121        super(self.__class__,self).__init__( # fancy way to self-reference
    22             extensionlist=('.CIF','.cif'),
     22            extensionlist=('.CIF','.cif','.HKL','.hkl'),
    2323            strictExtension=False,
    2424            formatName = 'CIF',
     
    153153                    except:
    154154                        HKL.append('.')
    155                 ref = [HKL,0.,0.,0,0,0,0]  # HKL. Fo**2, sig(Fo**2), Fc, Fcp, Fcpp & phase
    156                 # get F or F**2 and sigma
     155                ref = HKL+[0,0,0,0,0,0,0,0,[],[],0,{}]
    157156                if '_refln_f_squared_meas' in itemkeys:
    158157                    try:
    159                         ref[1] = float(item[itemkeys['_refln_f_squared_meas']])
     158                        ref[8] = float(item[itemkeys['_refln_f_squared_meas']])
    160159                    except:
    161160                        pass
    162161                    if  '_refln_f_squared_sigma' in itemkeys:
    163162                        try:
    164                             ref[2] = float(item[itemkeys['_refln_f_squared_sigma']])
     163                            ref[7] = float(item[itemkeys['_refln_f_squared_sigma']])
    165164                        except:
    166165                            pass                           
    167166                elif '_refln_f_meas' in itemkeys:
    168167                    try:
    169                         ref[1] = float(item[itemkeys['_refln_f_meas']])**2
     168                        ref[8] = float(item[itemkeys['_refln_f_meas']])**2
    170169                    except:
    171170                        pass                               
    172171                    if  '_refln_f_sigma' in itemkeys:
    173172                        try:
    174                             ref[2] = 2.*sqrt(ref[1])*float(item[itemkeys['_refln_f_sigma']])
     173                            ref[7] = 2.*sqrt(ref[8])*float(item[itemkeys['_refln_f_sigma']])
    175174                        except:
    176175                            pass                               
    177176                if '_refln_f_squared_calc' in itemkeys:
    178177                    try:
    179                         ref[3] = float(item[itemkeys['_refln_f_squared_calc']])
     178                        ref[9] = float(item[itemkeys['_refln_f_squared_calc']])
    180179                    except:
    181180                        pass                               
    182181                elif '_refln_f_calc' in itemkeys:
    183182                    try:
    184                         ref[3] = float(item[itemkeys['_refln_f_calc']])**2
     183                        ref[9] = float(item[itemkeys['_refln_f_calc']])**2
    185184                    except:
    186185                        pass                               
    187186                if '_refln_phase_calc' in itemkeys:
    188187                    try:
    189                         ref[6] = float(item[itemkeys['_refln_phase_calc']])
    190                     except:
    191                         pass                               
    192 
     188                        ref[10] = float(item[itemkeys['_refln_phase_calc']])
     189                    except:
     190                        pass                               
    193191                self.RefList.append(ref)
    194192            self.UpdateControls(Type='Fosq',FcalcPresent=FcalcPresent) # set Fobs type & if Fcalc values are loaded
Note: See TracChangeset for help on using the changeset viewer.