Changeset 1781 for trunk/GSASIIpwdGUI.py


Ignore:
Timestamp:
Apr 8, 2015 10:13:30 AM (7 years ago)
Author:
vondreele
Message:

fix bug from old Pref.Ori. not having penalty items
Implement colors for bad items in Reflection Lists; Prfo < 0 for PWDR
red Fc for abs(Fo-Fc)/sig > 10 & yellow if > 3.
Implement user selected rejection scheme for HKLF; set mul < 0. Get calculated but not used in least squares

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIpwdGUI.py

    r1780 r1781  
    29452945        G2plt.Plot3DSngl(G2frame,newPlot=True,Data=controls,hklRef=refList,Title=phaseName)
    29462946       
     2947    def OnRejectHKL(event):
     2948        phaseName = G2frame.RefList
     2949        pId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,'Phases')
     2950        phaseId =  G2gd.GetPatternTreeItemId(G2frame,pId,phaseName)
     2951        General = G2frame.PatternTree.GetItemPyData(phaseId)['General']
     2952        im = General.get('Super',0)
     2953        rowList = G2frame.refTable[phaseName].GetSelectedRows()
     2954        for row in rowList:
     2955            data[1]['RefList'][row][3+im] *= -1 #toggles mul & -mul
     2956        ShowReflTable(phaseName)
     2957       
    29472958    def MakeReflectionTable(phaseName):
    29482959        '''Returns a wx.grid table (G2gd.Table) containing a list of all reflections
     
    30063017        if needed using MakeReflectionTable
    30073018        '''
    3008         def setBackgroundColors(im):
     3019        def setBackgroundColors(im,it):
    30093020            for r in range(G2frame.refTable[phaseName].GetNumberRows()):
    3010                 Fosq = float(G2frame.refTable[phaseName].GetCellValue(r,5+im))
    3011                 Fcsq = float(G2frame.refTable[phaseName].GetCellValue(r,7+im))
    3012                 sig = float(G2frame.refTable[phaseName].GetCellValue(r,6+im))
    3013                 rat = abs(Fosq-Fcsq)/sig
    3014                 if  rat > 10.:
    3015                     G2frame.refTable[phaseName].SetCellBackgroundColour(r,7+im,wx.RED)
    3016                 elif rat > 3.0:
    3017                     G2frame.refTable[phaseName].SetCellBackgroundColour(r,7+im,wx.Colour(255,255,0))
    3018                 else:
    3019                     G2frame.refTable[phaseName].SetCellBackgroundColour(r,7+im,wx.WHITE)
     3021                if HKLF:
     3022                    if float(G2frame.refTable[phaseName].GetCellValue(r,3+im)) < 0.:
     3023                        G2frame.refTable[phaseName].SetCellBackgroundColour(r,3+im,wx.RED)
     3024                    Fosq = float(G2frame.refTable[phaseName].GetCellValue(r,5+im))
     3025                    Fcsq = float(G2frame.refTable[phaseName].GetCellValue(r,7+im))
     3026                    sig = float(G2frame.refTable[phaseName].GetCellValue(r,6+im))
     3027                    rat = abs(Fosq-Fcsq)/sig
     3028                    if  rat > 10.:
     3029                        G2frame.refTable[phaseName].SetCellBackgroundColour(r,7+im,wx.RED)
     3030                    elif rat > 3.0:
     3031                        G2frame.refTable[phaseName].SetCellBackgroundColour(r,7+im,wx.Colour(255,255,0))
     3032#                    else:
     3033#                        G2frame.refTable[phaseName].SetCellBackgroundColour(r,7+im,wx.WHITE)
     3034                else:   #PWDR
     3035                    if float(G2frame.refTable[phaseName].GetCellValue(r,12+im+it)) < 0.:
     3036                        G2frame.refTable[phaseName].SetCellBackgroundColour(r,12+im+it,wx.RED)
    30203037                                                 
    30213038        G2frame.RefList = phaseName
    30223039        G2frame.dataFrame.SetLabel('Reflection List for '+phaseName)
     3040        if HKLF:
     3041            Status.SetStatusText('abs(Fo-Fc)/sig > 10 in red; > 3 in yellow; mul < 0 (user rejected) in red')
     3042        else:
     3043            Status.SetStatusText('Prfo < 0. in red')
     3044        it = 0
     3045        if HKLF:
     3046            im = data[1]['Super']
     3047        else:
     3048            if 'T' in data[phaseName]['Type']:
     3049                it = 3
     3050            im = data[phaseName].get('Super',0)
    30233051        # has this table already been displayed?
    30243052        if G2frame.refTable[phaseName].GetTable() is None:
     
    30283056            G2frame.refTable[phaseName].SetMargins(0,0)
    30293057            G2frame.refTable[phaseName].AutoSizeColumns(False)
    3030             setBackgroundColors(0)
     3058            setBackgroundColors(im,it)
    30313059        # raise the tab (needed for 1st use and from OnSelectPhase)
    30323060        for PageNum in range(G2frame.dataDisplay.GetPageCount()):
     
    30793107        G2frame.Bind(wx.EVT_MENU, OnPlotHKL, id=G2gd.wxID_PWDHKLPLOT)
    30803108        G2frame.Bind(wx.EVT_MENU, OnPlot3DHKL, id=G2gd.wxID_PWD3DHKLPLOT)
     3109        G2frame.Bind(wx.EVT_MENU,OnRejectHKL, id=G2gd.wxID_REJECTHKL)
    30813110        G2frame.dataFrame.SelectPhase.Enable(False)
    30823111    else:
     
    30873116        G2frame.Bind(wx.EVT_MENU, OnPlotHKL, id=G2gd.wxID_PWDHKLPLOT)
    30883117        G2frame.Bind(wx.EVT_MENU, OnPlot3DHKL, id=G2gd.wxID_PWD3DHKLPLOT)
     3118        G2frame.dataFrame.RejectHKL.Enable(False)
    30893119        G2frame.dataFrame.SelectPhase.Enable(False)
    30903120           
Note: See TracChangeset for help on using the changeset viewer.