Changeset 2138
- Timestamp:
- Jan 28, 2016 1:20:39 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIgrid.py
r2136 r2138 62 62 63 63 [ wxID_PWDRADD, wxID_HKLFADD, wxID_PWDANALYSIS, wxID_PWDCOPY, wxID_PLOTCTRLCOPY, 64 wxID_DATADELETE,wxID_DATACOPY,wxID_DATACOPYFLAGS,wxID_DATASELCOPY, 65 ] = [wx.NewId() for item in range( 9)]64 wxID_DATADELETE,wxID_DATACOPY,wxID_DATACOPYFLAGS,wxID_DATASELCOPY,wxID_DATAUSE, 65 ] = [wx.NewId() for item in range(10)] 66 66 67 67 [ wxID_ATOMSEDITADD, wxID_ATOMSEDITINSERT, wxID_ATOMSEDITDELETE, wxID_ATOMSREFINE, … … 1361 1361 self.DataEdit.Append(id=wxID_DATASELCOPY, kind=wx.ITEM_NORMAL,text='Copy selected data', 1362 1362 help='Copy selected phase data to other histograms') 1363 self.DataEdit.Append(id=wxID_DATAUSE, kind=wx.ITEM_NORMAL,text='Select used data', 1364 help='Select all histograms to use') 1363 1365 self.DataEdit.Append(id=wxID_PWDRADD, kind=wx.ITEM_NORMAL,text='Add powder histograms', 1364 1366 help='Select new powder histograms to be used for this phase') -
trunk/GSASIIlattice.py
r2136 r2138 961 961 mat43 = np.array([[0,-1,0],[1,0,0],[0,0,1]]) #hkl -> -k,h,l 962 962 mat4bar = np.array([[0,1,0],[-1,0,0],[0,0,-1]]) #hkl -> k,-h,-l 963 mat31 = np.array([[0,-1,0],[1,-1,0],[0,0,1]]) #hkl -> h-k,-k,l 964 mat32 = np.array([[-1,1,0],[-1,0,0],[0,0,1]]) #hkl -> k-h,-h,l 965 mat6 = np.array([[0,1,0],[-1,1,0],[0,0,1]]) #hkl -> k,k-h,l 963 mat31 = np.array([[0,-1,0],[1,-1,0],[0,0,1]]).T #hkl -> kil = k,-h-k,l 964 mat32 = np.array([[-1,1,0],[-1,0,0],[0,0,1]]).T #hkl -> ihl = -h-k,h,l 965 mat312 = np.array([[0,-1,0],[-1,0,0],[0,0,-1]]) #hkl -> -k,-h,-l 966 mat321 = np.array([[0,1,0],[1,0,0],[0,0,-1]]) #hkl -> k,h,-l 967 mat31m = np.array([[0,1,0],[1,0,0],[0,0,1]]) #hkl -> k,h,l 968 mat3m1 = np.array([[0,-1,0],[-1,0,0],[0,0,1]]) #hkl -> -k,-h,l 969 mat6 = np.array([[1,-1,0],[1,0,0],[0,0,1]]) #hkl -> k,k-h,l 966 970 matdm = np.array([[0,1,0],[1,0,0],[0,0,1]]) #hkl -> k,h,l 967 971 matd2 = np.array([[0,1,0],[1,0,0],[0,0,-1]]) #hkl -> k,h,-l … … 1023 1027 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3]) 1024 1028 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]) 1025 #trigonal - all hex cell1026 #noncentrosymmetric1027 elif Laue == '3':1028 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])1029 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat32[nxs,:,:])).T,HKLFT[:3])1030 elif Laue == '3 1 2':1031 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3])1032 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])1033 elif Laue == '3 2 1':1034 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3])1035 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])1036 elif Laue == '3 1 m':1037 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3])1038 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])1039 elif Laue == '3 m 1':1040 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3])1041 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])1042 #centrosymmetric1043 elif Laue == '-3':1044 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])1045 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3])1046 elif Laue == '-3 m 1':1047 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])1048 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3])1049 elif Laue == '-3 1 m':1050 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])1051 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3])1052 1029 #tetragonal 1053 1030 #noncentrosymmetric - all ok … … 1095 1072 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1096 1073 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3]) 1074 #trigonal - all hex cell 1075 #noncentrosymmetric 1076 elif Laue == '3': #ok 1077 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1078 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1079 HKLFT[:3] = np.where(HKLFT[1]==0,np.squeeze(np.inner(HKLF[:,:3],mat32[nxs,:,:])).T,HKLFT[:3]) 1080 elif Laue == '3 1 2': 1081 # HKLFT[:3] = np.where(HKLFT[2]<0,np.squeeze(np.inner(HKLF[:,:3],mat312[nxs,:,:])).T,HKLFT[:3]) 1082 HKLFT[:3] = np.where(HKLFT[0]<0,np.squeeze(np.inner(HKLF[:,:3],mat32[nxs,:,:])).T,HKLFT[:3]) 1083 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1084 elif Laue == '3 2 1': #ok? 1085 HKLFT[:3] = np.where(HKLFT[2]<0,np.squeeze(np.inner(HKLF[:,:3],mat321[nxs,:,:])).T,HKLFT[:3]) 1086 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1087 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1088 elif Laue == '3 1 m': 1089 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1090 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1091 elif Laue == '3 m 1': 1092 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1093 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1094 #centrosymmetric 1095 elif Laue == '-3': #ok 1096 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1097 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1098 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1099 HKLFT[:3] = np.where(HKLFT[1]==0,np.squeeze(np.inner(HKLF[:,:3],mat32[nxs,:,:])).T,HKLFT[:3]) 1100 elif Laue == '-3 m 1': 1101 HKLFT[:3] = np.where(HKLFT[2]<0,np.squeeze(np.inner(HKLF[:,:3],mat321[nxs,:,:])).T,HKLFT[:3]) 1102 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1103 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1104 elif Laue == '-3 1 m': 1105 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1106 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1097 1107 #hexagonal 1098 1108 #noncentrosymmetric 1099 elif Laue == '6': 1100 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1101 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1109 elif Laue == '6': #ok? 1110 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1111 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1112 HKLFT[:3] = np.where(HKLFT[0]<0,np.squeeze(np.inner(HKLF[:,:3],mat6.T[nxs,:,:])).T,HKLFT[:3]) 1113 HKLFT[:3] = np.where(HKLFT[0]==0,np.squeeze(np.inner(HKLF[:,:3],mat6.T[nxs,:,:])).T,HKLFT[:3]) 1102 1114 elif Laue == '-6': 1103 HKLFT[:3] = np.where(HKLFT[ 0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])1104 HKLFT[:3] = np.where( HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])1115 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1116 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1105 1117 elif Laue == '6 2 2': 1106 HKLFT[:3] = np.where(HKLFT[ 0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])1107 HKLFT[:3] = np.where( HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])1118 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1119 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1108 1120 elif Laue == '-6 m 2': 1109 HKLFT[:3] = np.where(HKLFT[ 0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])1110 HKLFT[:3] = np.where( HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])1121 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1122 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1111 1123 elif Laue == '-6 2 m': 1112 HKLFT[:3] = np.where(HKLFT[ 0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])1113 HKLFT[:3] = np.where( HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])1124 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1125 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1114 1126 #centrosymmetric 1115 1127 elif Laue == '6/m': 1116 1128 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1117 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1129 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1130 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1118 1131 elif Laue == '6/m m m': 1119 1132 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1120 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1133 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1134 HKLFT[:3] = np.where((HKLFT[0]+HKLFT[1])<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1121 1135 #cubic 1122 1136 #noncentrosymmetric -
trunk/GSASIIphsGUI.py
r2132 r2138 4134 4134 wx.CallAfter(G2ddG.UpdateDData,G2frame,DData,data) 4135 4135 wx.EndBusyCursor() 4136 4137 def OnDataUse(event): 4138 UseList = data['Histograms'] 4139 hist = G2frame.hist 4140 useDict = {} 4141 keyList = G2frame.GetHistogramNames(hist[:4]) 4142 if UseList: 4143 dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame, 'Use histograms', 4144 'Use which histograms?',keyList) 4145 try: 4146 if dlg.ShowModal() == wx.ID_OK: 4147 sel = dlg.GetSelections() 4148 for id,item in enumerate(keyList): 4149 if id in sel: 4150 UseList[item]['Use'] = True 4151 else: 4152 UseList[item]['Use'] = False 4153 finally: 4154 dlg.Destroy() 4155 wx.CallAfter(G2ddG.UpdateDData,G2frame,DData,data) 4136 4156 4137 4157 def UpdateHKLFdata(histoName): … … 6402 6422 # Data 6403 6423 FillSelectPageMenu(TabSelectionIdDict, G2frame.dataFrame.DataMenu) 6424 G2frame.dataFrame.Bind(wx.EVT_MENU, OnDataUse, id=G2gd.wxID_DATAUSE) 6404 6425 G2frame.dataFrame.Bind(wx.EVT_MENU, OnDataCopy, id=G2gd.wxID_DATACOPY) 6405 6426 G2frame.dataFrame.Bind(wx.EVT_MENU, OnDataCopyFlags, id=G2gd.wxID_DATACOPYFLAGS) -
trunk/imports/G2sfact.py
r2125 r2138 145 145 def ContentsValidator(self, filepointer): 146 146 'Make sure file contains the expected columns on numbers' 147 return ColumnValidator(self, filepointer) 147 return True 148 # return ColumnValidator(self, filepointer) 148 149 149 150 def Reader(self,filename,filepointer, ParentFrame=None, **unused): … … 153 154 self.errors = ' Error reading line '+str(line+1) 154 155 if S[0] == '#': continue #ignore comments, if any 155 h,k,l,Fo,sigFo = S[:4],S[4:8],S[8:12],S[12:20],S[20:28] 156 h,k,l = S[:12].split() 157 Fo,sigFo = S[12:].split()[:2] 158 # h,k,l,Fo,sigFo = S[:4],S[4:8],S[8:12],S[12:20],S[20:28] 156 159 h,k,l = [int(h),int(k),int(l)] 157 160 if not any([h,k,l]):
Note: See TracChangeset
for help on using the changeset viewer.