Changeset 2008


Ignore:
Timestamp:
Oct 16, 2015 10:00:03 AM (6 years ago)
Author:
vondreele
Message:

add R-values to HKL % 3D HKL plot status lines

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIplot.py

    r1996 r2008  
    372372            Page.canvas.SetToolTipString(HKLtxt)
    373373            G2frame.G2plotNB.status.SetStatusText('HKL = '+HKLtxt,0)
    374             G2frame.G2plotNB.status.SetStatusText('Use K-box to set plot controls',1)
    375374               
    376375    def OnSCPress(event):
     
    421420            Page.Choice += ('w: select |DFsq|/sig','1: select |DFsq|>sig','3: select |DFsq|>3sig',)
    422421    Page.SetFocus()
    423    
    424     G2frame.G2plotNB.status.SetStatusText('Use K-box to set plot controls',1)
    425422    Plot.set_aspect(aspect='equal')
    426423   
     
    444441    HKLF = []
    445442    time0 = time.time()
     443    sumFo = 0.
     444    sumDF = 0.
     445#    GSASIIpath.IPyBreak()
    446446    for refl in HKLref:
    447447        H = refl[:3]
     
    460460            if Type == 'Fosq':
    461461                A = scale*Fosq/FosqMax
     462                sumFo += A
    462463                B = scale*Fcsq/FosqMax
    463464                C = abs(A-B)
     465                sumDF += C
    464466            elif Type == 'Fo':
    465467                A = scale*math.sqrt(max(0,Fosq))/FoMax
     468                sumFo += A
    466469                B = scale*math.sqrt(max(0,Fcsq))/FoMax
    467470                C = abs(A-B)
     471                sumDF += C
    468472            elif Type == 'Unit Fc':
    469473                A = scale/2
     
    515519    Plot.set_xlabel(xlabel[izone]+str(Data['Layer']),fontsize=12)
    516520    Plot.set_ylabel(ylabel[izone],fontsize=12)
     521    if sumFo and sumDF:
     522        G2frame.G2plotNB.status.SetStatusText('layer R = %6.2f%s'%(100.*sumDF/sumFo,'%'),1)
     523    else:
     524        G2frame.G2plotNB.status.SetStatusText('Use K-box to set plot controls',1)
    517525    if not newPlot:
    518526        Page.toolbar.push_current()
     
    535543        to F, F**2, etc. as requested as 3D array
    536544    '''
    537 
     545    super2 = unichr(0xb2)
    538546    global ifBox
    539547    ifBox = False
     
    670678        [uBox[4],uBox[5]],[uBox[5],uBox[6]],[uBox[6],uBox[7]],[uBox[7],uBox[4]]])
    671679    uColors = [Rd,Gr,Bl, Wt,Wt,Wt, Wt,Wt,Wt, Wt,Wt,Wt]
     680   
    672681    def FillHKLRC():
     682        sumFo2 = 0.
     683        sumDF2 = 0.
     684        sumFo = 0.
     685        sumDF = 0.
    673686        R = np.zeros(len(hklRef))
    674687        C = []
     
    683696            else:
    684697                Fosq,sig,Fcsq = refl[8+Super],1.0,refl[9+Super]
     698            sumFo2 += Fosq
     699            sumDF2 += abs(Fosq-Fcsq)
     700            if Fosq > 0.:
     701                sumFo += np.sqrt(Fosq)
     702                sumDF += abs(np.sqrt(Fosq)-np.sqrt(Fcsq))
    685703            if Super:
    686704                HKL.append(H+SuperVec*refl[3])
     
    727745            C = np.array(C)
    728746            C = (C.T*R).T
    729             R = np.ones_like(R)*0.05     
    730         return HKL,zip(list(R),C)
     747            R = np.ones_like(R)*0.05
     748        RF = 100.
     749        RF2 = 100.
     750        if sumFo and sumDF:
     751            RF = 100.*sumDF/sumFo
     752            RF2 = 100.*sumDF2/sumFo2 
     753        return HKL,zip(list(R),C),RF,RF2
    731754
    732755    def GetTruePosition(xy):
     
    910933#            print caller
    911934# end of useful debug
    912         G2frame.G2plotNB.status.SetStatusText('Plot type = %s for %s'%(Data['Type'],Name),1)
    913935        VS = np.array(Page.canvas.GetSize())
    914936        aspect = float(VS[0])/float(VS[1])
     
    925947        GS[1][2] = GS[2][1] = math.sqrt(GS[1][1]*GS[2][2])
    926948       
    927         HKL,RC = FillHKLRC()
     949        HKL,RC,RF,RF2 = FillHKLRC()
     950        G2frame.G2plotNB.status.SetStatusText   \
     951            ('Plot type = %s for %s; RF = %6.2f%%, RF%s = %6.2f%%'%(Data['Type'],Name,RF,super2,RF2),1)
    928952       
    929953        SetBackground()
Note: See TracChangeset for help on using the changeset viewer.