@@ -6627,7 +6627,7 @@ def _makemenu(): # routine to create menu when first used
66276627 self .PWDRMenu = _makemenu
66286628
66296629 # HKLF - many wxIDs defined in PWDR & SASD above
6630- G2G .Define_wxId ('wxID_3DALLHKLPLOT' ,'wxID_MERGEHKL' )
6630+ G2G .Define_wxId ('wxID_3DALLHKLPLOT' ,'wxID_MERGEHKL' , 'wxID_FIXFSQSQDATA' )
66316631 def _makemenu (): # routine to create menu when first used
66326632 self .HKLFMenu = wx .MenuBar ()
66336633 self .PrefillDataMenu (self .HKLFMenu )
@@ -6638,6 +6638,7 @@ def _makemenu(): # routine to create menu when first used
66386638 self .ErrorAnal .Append (G2G .wxID_1DHKLSTICKPLOT ,'Plot 1D HKLs' ,'Plot of HKLs from single crystal data in 1D' )
66396639 self .ErrorAnal .Append (G2G .wxID_PWD3DHKLPLOT ,'Plot 3D HKLs' ,'Plot HKLs from single crystal data in 3D' )
66406640 self .ErrorAnal .Append (G2G .wxID_3DALLHKLPLOT ,'Plot all 3D HKLs' ,'Plot HKLs from all single crystal data in 3D' )
6641+ self .ErrorAnal .Append (G2G .wxID_FIXFSQSQDATA ,'Fix (F^2)^2 data' ,'Fix F^2 data imported as F' )
66416642 # self.ErrorAnal.Append(G2G.wxID_PWDCOPY,'Copy params','Copy of HKLF parameters') #unused
66426643 self .PostfillDataMenu ()
66436644 SetDataMenuBar (G2frame ,self .HKLFMenu )
@@ -8135,6 +8136,47 @@ def OnMergeHKL(event):
81358136 G2frame .GPXtree .SetItemPyData (G2frame .GPXtree .AppendItem (Id ,text = 'Instrument Parameters' ),Inst )
81368137 G2frame .GPXtree .SetItemPyData (G2frame .GPXtree .AppendItem (Id ,text = 'Reflection List' ),{}) #dummy entry for GUI use
81378138 G2frame .GPXtree .SetItemPyData (Id ,newData )
8139+
8140+ def OnFixFsqFsq (event ):
8141+ ''' Fix HKLF data that had been misimported as F instead of F^2'''
8142+ Name = G2frame .GPXtree .GetItemText (G2frame .PatternId )
8143+ Inst = G2frame .GPXtree .GetItemPyData (GetGPXtreeItemId (G2frame ,
8144+ G2frame .PatternId ,'Instrument Parameters' ))
8145+ CId = GetGPXtreeItemId (G2frame ,G2frame .PatternId ,'Comments' )
8146+ if CId :
8147+ Comments = G2frame .GPXtree .GetItemPyData (CId )
8148+ else :
8149+ Comments = []
8150+ Super = data [1 ]['Super' ]
8151+ refList = np .copy (data [1 ]['RefList' ])
8152+ Comments .append (' Changing %d reflection F^2^2 to F^2 from %s' % (len (refList ),Name ))
8153+ for ih ,hkl in enumerate (refList ): #undo F--> F^2
8154+ hkl [5 + Super ] = np .sqrt (hkl [5 + Super ])
8155+ hkl [6 + Super ] = hkl [6 + Super ]/ (2.0 * hkl [5 + Super ])
8156+ hkl [7 + Super ] = np .sqrt (hkl [7 + Super ])
8157+ HKLFlist = []
8158+ if G2frame .GPXtree .GetCount ():
8159+ item , cookie = G2frame .GPXtree .GetFirstChild (G2frame .root )
8160+ while item :
8161+ name = G2frame .GPXtree .GetItemText (item )
8162+ if name .startswith ('HKLF ' ) and name not in HKLFlist :
8163+ HKLFlist .append (name )
8164+ item , cookie = G2frame .GPXtree .GetNextChild (G2frame .root , cookie )
8165+ newName = G2obj .MakeUniqueLabel (Name ,HKLFlist )
8166+ newData = copy .deepcopy (data )
8167+ newData [0 ]['ranId' ] = ran .randint (0 ,sys .maxsize )
8168+ newData [1 ]['RefList' ] = refList
8169+ newData [0 ]['Nobs' ] = refList .shape [0 ]
8170+ newData [0 ]['wR' ] = 0.0
8171+ keys = list (newData [0 ].keys ())
8172+ for item in keys :
8173+ if ':' in item :
8174+ del newData [0 ][item ]
8175+ Id = G2frame .GPXtree .AppendItem (parent = G2frame .root ,text = newName )
8176+ G2frame .GPXtree .SetItemPyData (G2frame .GPXtree .AppendItem (Id ,text = 'Comments' ),Comments )
8177+ G2frame .GPXtree .SetItemPyData (G2frame .GPXtree .AppendItem (Id ,text = 'Instrument Parameters' ),Inst )
8178+ G2frame .GPXtree .SetItemPyData (G2frame .GPXtree .AppendItem (Id ,text = 'Reflection List' ),{}) #dummy entry for GUI use
8179+ G2frame .GPXtree .SetItemPyData (Id ,newData )
81388180
81398181 def OnErrorAnalysis (event ):
81408182 '''Plots an "Abrams" plot - sorted delta/sig across data set.
@@ -8207,6 +8249,7 @@ def OnEditMag(**args):
82078249 G2frame .Bind (wx .EVT_MENU , OnPlot1DHKL , id = G2G .wxID_1DHKLSTICKPLOT )
82088250 G2frame .Bind (wx .EVT_MENU , OnPlot3DHKL , id = G2G .wxID_PWD3DHKLPLOT )
82098251 G2frame .Bind (wx .EVT_MENU , OnPlotAll3DHKL , id = G2G .wxID_3DALLHKLPLOT )
8252+ G2frame .Bind (wx .EVT_MENU , OnFixFsqFsq , id = G2G .wxID_FIXFSQSQDATA )
82108253 if kind == 'PWDR' :
82118254 lbl = 'Powder'
82128255 elif kind == 'SASD' :
0 commit comments