Ignore:
Timestamp:
Jan 26, 2016 1:16:37 PM (9 years ago)
Author:
vondreele
Message:

fix indexing problem in 32 bit versions - Skip in ProgressDialog? doesn't work
skip user excluded reflections in HKLF exporters
modify MergeDialog? & more work on LaueUnique?
add 'O' option to 3DHKLF plots to center on origin

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/GSASIIlattice.py

    r2135 r2136  
    905905    N = min(nMax,len(HKL))
    906906    return ['%d %d %d'%(h[0],h[1],h[2]) for h in HKL[:N]]       
    907        
    908907
    909908def GenSSHLaue(dmin,SGData,SSGData,Vec,maxH,A):
     
    931930    return HKLs
    932931   
     932def LaueUnique2(SGData,refList):
     933    ''' Impose Laue symmetry on hkl
     934    :param SGData: space group data from 'P '+Laue
     935    :param HKLF: np.array([[h,k,l,...]]) reflection set to be converted
     936   
     937    :return: HKLF new reflection array with imposed Laue symmetry
     938    '''
     939    for ref in refList:
     940        H = ref[:3]
     941        Uniq = G2spc.GenHKLf(H,SGData)[2]
     942        Uniq = G2mth.sortArray(G2mth.sortArray(G2mth.sortArray(Uniq,2),1),0)
     943        ref[:3] = Uniq[-1]
     944    return refList
     945   
    933946def LaueUnique(Laue,HKLF):
    934947    ''' Impose Laue symmetry on hkl
     
    943956    :return: HKLF new reflection array with imposed Laue symmetry
    944957    '''
     958   
    945959    HKLFT = HKLF.T
    946     mat41 = np.array([[0,1,0],[-1,0,0],[0,0,1]])
    947     mat43 = np.array([[0,-1,0],[1,0,0],[0,0,1]])
    948     mat31 = np.array([[0,-1,0],[1,-1,0],[0,0,1]])
    949     mat32 = np.array([[-1,1,0],[-1,0,0],[0,0,1]])
    950     mat6 = np.array([[0,1,0],[-1,1,0],[0,0,1]])
     960    mat41 = np.array([[0,1,0],[-1,0,0],[0,0,1]])    #hkl -> k,-h,l
     961    mat43 = np.array([[0,-1,0],[1,0,0],[0,0,1]])    #hkl -> -k,h,l
     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
     966    matdm = np.array([[0,1,0],[1,0,0],[0,0,1]])     #hkl -> k,h,l
     967    matd2 = np.array([[0,1,0],[1,0,0],[0,0,-1]])    #hkl -> k,h,-l
    951968    #triclinic
    952969    if Laue == '1': #ok
     
    955972        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    956973        HKLFT[:3] = np.where(HKLFT[0]==0,np.where(HKLFT[1]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3])
    957     #monoclinic - all 3 settings OK
    958     #noncentrosymmetric
    959     elif Laue == '2(a)':    #ok 
     974    #monoclinic
     975    #noncentrosymmetric - all OK
     976    elif Laue == '2': 
    960977        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3])
    961978        HKLFT[:3] = np.where(HKLFT[2]==0,np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]),HKLFT[:3])
    962     elif Laue == '2':   #ok
     979    elif Laue == '1 1 2':
    963980        HKLFT[:3] = np.where(HKLFT[0]<=0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3])
    964981        HKLFT[:3] = np.where(HKLFT[0]==0,np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3])
    965     elif Laue == '2(c)':   #ok   
     982    elif Laue == '2 1 1':   
    966983        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    967984        HKLFT[:3] = np.where(HKLFT[1]==0,np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3])
    968     elif Laue == 'm(a)':        #ok   
     985    elif Laue == 'm 1 1':   
    969986        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3])
    970     elif Laue == 'm':           #ok
     987    elif Laue == 'm':
    971988        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3])
    972     elif Laue == 'm(c)':        #ok
     989    elif Laue == '1 1 m':
    973990        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
    974     #centrosymmetric
    975     elif Laue == '2/m(a)':       
     991    #centrosymmetric - all OK
     992    elif Laue == '2/m 1 1':       
    976993        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3])
    977994        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3])
    978     elif Laue == '2/m': #ok
     995        HKLFT[:3] = np.where(HKLFT[0]==0,np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3])
     996    elif Laue == '2/m':
    979997        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3])
    980998        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3])
    981     elif Laue == '2/m(c)':
     999        HKLFT[:3] = np.where(HKLFT[1]==0,np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3])
     1000    elif Laue == '1 1 2/m':
    9821001        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    9831002        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
    984     #orthorhombic - 3 settings all OK
    985     #noncentrosymmetric
    986     elif Laue == '222': #ok
     1003        HKLFT[:3] = np.where(HKLFT[2]==0,np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3]),HKLFT[:3])
     1004    #orthorhombic
     1005    #noncentrosymmetric - all OK
     1006    elif Laue == '2 2 2':
    9871007        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    9881008        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3])
    9891009        HKLFT[:3] = np.where(HKLFT[0]==0,np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3])
    9901010        HKLFT[:3] = np.where(HKLFT[1]==0,np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3])
    991     elif Laue == '2mm':    #ok  
     1011    elif Laue == '2 m m': 
    9921012        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3])
    9931013        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
    994     elif Laue == 'm2m':       #ok
     1014    elif Laue == 'm 2 m':
    9951015        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3])
    9961016        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
    997     elif Laue == 'mm2':    #ok   
     1017    elif Laue == 'm m 2':
    9981018        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3])
    9991019        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3])
    1000     #centrosymmetric
    1001     elif Laue == 'mmm': #ok
     1020    #centrosymmetric - all ok
     1021    elif Laue == 'm m m':
    10021022        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3])
    10031023        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3])
     
    10071027    elif Laue == '3':
    10081028        HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1009     elif Laue == '312':
     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':
    10101031        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3])
    10111032        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1012     elif Laue == '321':
     1033    elif Laue == '3 2 1':
    10131034        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3])
    10141035        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1015     elif Laue == '32':
    1016         HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3])
    1017         HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1018     elif Laue == '31m':
     1036    elif Laue == '3 1 m':
    10191037        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3])
    10201038        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1021     elif Laue == '3m1':
     1039    elif Laue == '3 m 1':
    10221040        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3])
    1023         HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1024     elif Laue == '3m':
    1025         HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3])
    10261041        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    10271042    #centrosymmetric
     
    10291044        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    10301045        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3])
    1031     elif Laue == '-3m1':
     1046    elif Laue == '-3 m 1':
    10321047        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
    10331048        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3])
    1034     elif Laue == '-31m':
    1035         HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
    1036         HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3])
    1037     elif Laue == '-3m':
     1049    elif Laue == '-3 1 m':
    10381050        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
    10391051        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3])
    10401052    #tetragonal
    1041     #noncentrosymmetric
    1042     elif Laue == '4':   #OK
     1053    #noncentrosymmetric - all ok
     1054    elif Laue == '4':
    10431055        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    10441056        HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat43[nxs,:,:])).T,HKLFT[:3])
    10451057        HKLFT[:3] = np.where(HKLFT[0]==0,np.where(HKLFT[1]>0,np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]),HKLFT[:3])
    10461058    elif Laue == '-4':
    1047 #        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    1048 #        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3])
    1049         HKLFT[:3] = np.where(HKLFT[0]<0,np.where(HKLFT[1]>0,np.squeeze(np.inner(-HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]),HKLFT[:3])       
    1050     elif Laue == '422':
     1059        HKLFT[:3] = np.where(HKLFT[0]<0,np.where(HKLFT[1]>0,np.squeeze(np.inner(-HKLF[:,:3],mat4bar[nxs,:,:])).T,HKLFT[:3]),HKLFT[:3])       
    10511060        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    1052         HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3])
     1061        HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(-HKLF[:,:3],mat4bar[nxs,:,:])).T,HKLFT[:3])       
     1062        HKLFT[:3] = np.where(HKLFT[0]==0,np.squeeze(np.inner(HKLF[:,:3],mat4bar[nxs,:,:])).T,HKLFT[:3])     
     1063    elif Laue == '4 2 2':
     1064        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
     1065        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    10531066        HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat43[nxs,:,:])).T,HKLFT[:3])
    1054     elif Laue == '4mm':
     1067        HKLFT[:3] = np.where(HKLFT[0]<HKLFT[1],np.squeeze(np.inner(HKLF[:,:3],matd2[nxs,:,:])).T,HKLFT[:3])
     1068    elif Laue == '4 m m':
    10551069        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    1056         HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3])
     1070        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    10571071        HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat43[nxs,:,:])).T,HKLFT[:3])
    1058     elif Laue == '-42m':
    1059         HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
     1072        HKLFT[:3] = np.where(HKLFT[0]<HKLFT[1],np.squeeze(np.inner(HKLF[:,:3],matdm[nxs,:,:])).T,HKLFT[:3])
     1073    elif Laue == '-4 2 m':
     1074        HKLFT[:3] = np.where(HKLFT[0]<0,np.where(HKLFT[1]>0,np.squeeze(np.inner(-HKLF[:,:3],mat4bar[nxs,:,:])).T,HKLFT[:3]),HKLFT[:3])       
     1075        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
     1076        HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(-HKLF[:,:3],mat4bar[nxs,:,:])).T,HKLFT[:3])       
     1077        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],matdm[nxs,:,:])).T,HKLFT[:3])
     1078        HKLFT[:3] = np.where(HKLFT[0]==0,np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3])     
     1079    elif Laue == '-4 m 2':
     1080        HKLFT[:3] = np.where(HKLFT[0]<0,np.where(HKLFT[1]>0,np.squeeze(np.inner(-HKLF[:,:3],mat4bar[nxs,:,:])).T,HKLFT[:3]),HKLFT[:3])       
     1081        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
     1082        HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(-HKLF[:,:3],mat4bar[nxs,:,:])).T,HKLFT[:3])       
     1083        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],matd2[nxs,:,:])).T,HKLFT[:3])
     1084        HKLFT[:3] = np.where(HKLFT[0]==HKLFT[1],np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3])   
     1085    #centrosymmetric - all ok
     1086    elif Laue == '4/m':
     1087        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
     1088        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
     1089        HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat43[nxs,:,:])).T,HKLFT[:3])
     1090        HKLFT[:3] = np.where(HKLFT[0]==0,np.where(HKLFT[1]>0,np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]),HKLFT[:3])
     1091    elif Laue == '4/m m m':
     1092        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
     1093        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
     1094        HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat43[nxs,:,:])).T,HKLFT[:3])       
    10601095        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
    1061     elif Laue == '-4m2':
    1062         HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    1063         HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
    1064     #centrosymmetric
    1065     elif Laue == '4/m':
    1066         HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    1067         HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
    1068         HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
    1069     elif Laue == '4/mmm':
    1070         HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    1071         HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    1072         HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    1073         HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
     1096        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3])
    10741097    #hexagonal
    10751098    #noncentrosymmetric
     
    10801103        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    10811104        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1082     elif Laue == '622':
     1105    elif Laue == '6 2 2':
    10831106        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    10841107        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1085     elif Laue == '-6m2':
     1108    elif Laue == '-6 m 2':
    10861109        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    10871110        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1088     elif Laue == '-62m':
     1111    elif Laue == '-6 2 m':
    10891112        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    10901113        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
     
    10931116        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    10941117        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1095     elif Laue == '6/mmm':
     1118    elif Laue == '6/m m m':
    10961119        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    10971120        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    10981121    #cubic 
    10991122    #noncentrosymmetric
    1100     elif Laue == '23':
     1123    elif Laue == '2 3':
    11011124        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    11021125        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
    1103     elif Laue == '432':
     1126    elif Laue == '4 3 2':
    11041127        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    11051128        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
    1106     elif Laue == '-43m':
     1129    elif Laue == '-4 3 m':
    11071130        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    11081131        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
    11091132    #centrosymmetric
    1110     elif Laue == 'm3':
     1133    elif Laue == 'm 3':
    11111134        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    11121135        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
    1113     elif Laue == 'm3m':
     1136    elif Laue == 'm 3 m':
    11141137        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    11151138        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
Note: See TracChangeset for help on using the changeset viewer.