Changeset 630 for trunk/GSASIIIO.py


Ignore:
Timestamp:
May 21, 2012 3:44:17 PM (10 years ago)
Author:
vondreele
Message:

major mods for HKLF data
remove some dead code
mark more code as dead (#)
implement cif data style as 'val(esd)' for f & f_squared
continue implementation of HKLF data in refinement
HKLF now OK in Fourier & charge flip calcs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIIO.py

    r622 r630  
    4444    return file
    4545   
    46 # to be removed
    47 def SelectPowderData(G2frame, filename):
    48     """Selects banks of data from a filename of any GSAS powder data format
    49     Input - filename: any GSAS powder data formatted file (currently STD, FXYE, FXY & ESD)
    50     Returns - a list of banks to be read; each entry in list is a tuple containing:
    51     filename: same as input filename
    52     Pos: position for start of data; record just after BANK record
    53     Bank: the BANK record
    54     """
    55     File = open(filename,'Ur')
    56     Title = '''
    57 First line of this file:
    58 '''+File.readline()
    59     dlg = wx.MessageDialog(G2frame, Title, 'Is this the file you want?',
    60         wx.YES_NO | wx.ICON_QUESTION)
    61     try:
    62         result = dlg.ShowModal()
    63     finally:
    64         dlg.Destroy()
    65     if result == wx.ID_NO: return (0,0)
    66     Temperature = 300
    67    
    68     if '.xye' in filename:      #Topas style xye file (e.g. 2-th, I, sig) - no iparm file/no BANK record
    69         dlg = wx.MessageDialog(G2frame,'''Is this laboratory Cu Ka1/Ka2 data?
    70 (No = 0.6A wavelength synchrotron data)
    71 Change wavelength in Instrument Parameters if needed''','Data type?',
    72             wx.YES_NO | wx.ICON_QUESTION)
    73         try:
    74             result = dlg.ShowModal()
    75         finally:
    76             dlg.Destroy()
    77         print result
    78         if result == wx.ID_YES:
    79             Iparm = {}                                               #Assume CuKa lab data
    80             Iparm['INS   HTYPE '] = 'PXC '
    81             Iparm['INS  1 ICONS'] = '  1.540500  1.544300       0.0         0       0.7    0       0.5   '
    82             Iparm['INS  1PRCF1 '] = '    3    8      0.01                                                '
    83             Iparm['INS  1PRCF11'] = '   2.000000E+00  -2.000000E+00   5.000000E+00   0.000000E+00        '
    84             Iparm['INS  1PRCF12'] = '   0.000000E+00   0.000000E+00   0.100000E-01   0.100000E-01        '
    85         else:
    86             Iparm = {}                                               #Assume 0.6A synchrotron data
    87             Iparm['INS   HTYPE '] = 'PXC '
    88             Iparm['INS  1 ICONS'] = '  0.600000  0.000000       0.0         0      0.99    0       0.5   '
    89             Iparm['INS  1PRCF1 '] = '    3    8      0.01                                                '
    90             Iparm['INS  1PRCF11'] = '   1.000000E+00  -1.000000E+00   0.300000E+00   0.000000E+00        '
    91             Iparm['INS  1PRCF12'] = '   0.000000E+00   0.000000E+00   0.100000E-02   0.100000E-02        '
    92                        
    93        
    94     else:                       #GSAS style fxye or fxy file (e.g. 100*2-th, I, sig)
    95         G2frame.IparmName = GetInstrumentFile(G2frame,filename)
    96         if G2frame.IparmName:
    97             Iparm = GetInstrumentData(G2frame.IparmName)
    98         else:
    99             Iparm = {}                                               #Assume CuKa lab data if no iparm file
    100             Iparm['INS   HTYPE '] = 'PXC '
    101             Iparm['INS  1 ICONS'] = '  1.540500  1.544300       0.0         0       0.7    0       0.5   '
    102             Iparm['INS  1PRCF1 '] = '    3    8      0.01                                                '
    103             Iparm['INS  1PRCF11'] = '   2.000000E+00  -2.000000E+00   5.000000E+00   0.000000E+00        '
    104             Iparm['INS  1PRCF12'] = '   0.000000E+00   0.000000E+00   0.100000E-01   0.100000E-01        '
    105     S = 1
    106     Banks = []
    107     Pos = []
    108     FoundData = []
    109     Comments = []
    110     wx.BeginBusyCursor()
    111     try:
    112         while S:
    113             S = File.readline()
    114             if S[:1] != '#':
    115                 if S[:4] == 'BANK':
    116                     Banks.append(S)
    117                     Pos.append(File.tell())
    118                 elif '.xye' in filename:    #No BANK in a xye file
    119                     Banks.append('BANK 1 XYE')
    120                     Pos.append(File.tell())
    121                     break
    122             else:
    123                 Comments.append(S[:-1])
    124                 if 'Temp' in S.split('=')[0]:
    125                     Temperature = float(S.split('=')[1])
    126         File.close()
    127     finally:
    128         wx.EndBusyCursor()
    129     if Comments:
    130        print 'Comments on file:'
    131        for Comment in Comments: print Comment
    132     if Banks:
    133         result = [0]
    134         if len(Banks) >= 2:
    135             dlg = wx.MultiChoiceDialog(G2frame, 'Which scans do you want?', 'Select scans', Banks, wx.CHOICEDLG_STYLE)
    136             try:
    137                 if dlg.ShowModal() == wx.ID_OK:
    138                     result = dlg.GetSelections()
    139                 else:
    140                     result = []
    141             finally:
    142                 dlg.Destroy()
    143         for i in result:
    144             FoundData.append((filename,Pos[i],Banks[i]))
    145     else:
    146         dlg = wx.MessageDialog(G2frame, 'ERROR - this is not a GSAS powder data file', 'No BANK records', wx.OK | wx.ICON_ERROR)
    147         try:
    148             result = dlg.ShowModal()
    149         finally:
    150             dlg.Destroy()
    151     return FoundData,Iparm,Comments,Temperature
    152 
    153 # to be removed
    154 def GetInstrumentFile(G2frame,filename):
    155     import os.path as op
    156     dlg = wx.FileDialog(G2frame,'Choose an instrument file','.', '', 'GSAS iparm file (*.prm)|*.prm|All files(*.*)|*.*',
    157         wx.OPEN|wx.CHANGE_DIR)
    158     Tname = filename[:filename.index('.')]+'.prm'
    159     if op.exists(Tname):
    160         G2frame.IparmName = Tname       
    161     if G2frame.IparmName: dlg.SetFilename(G2frame.IparmName)
    162     filename = ''
    163     try:
    164         if dlg.ShowModal() == wx.ID_OK:
    165             filename = dlg.GetPath()
    166     finally:
    167         dlg.Destroy()
    168     return filename
    169 
    170 # to be removed
    171 def GetInstrumentData(IparmName):
    172     file = open(IparmName, 'Ur')
    173     S = 1
    174     Iparm = {}
    175     while S:
    176         S = file.readline()
    177         Iparm[S[:12]] = S[12:-1]
    178     return Iparm
     46## to be removed
     47#def SelectPowderData(G2frame, filename):
     48#    """Selects banks of data from a filename of any GSAS powder data format
     49#    Input - filename: any GSAS powder data formatted file (currently STD, FXYE, FXY & ESD)
     50#    Returns - a list of banks to be read; each entry in list is a tuple containing:
     51#    filename: same as input filename
     52#    Pos: position for start of data; record just after BANK record
     53#    Bank: the BANK record
     54#    """
     55#    File = open(filename,'Ur')
     56#    Title = '''
     57#First line of this file:
     58#'''+File.readline()
     59#    dlg = wx.MessageDialog(G2frame, Title, 'Is this the file you want?',
     60#        wx.YES_NO | wx.ICON_QUESTION)
     61#    try:
     62#        result = dlg.ShowModal()
     63#    finally:
     64#        dlg.Destroy()
     65#    if result == wx.ID_NO: return (0,0)
     66#    Temperature = 300
     67#   
     68#    if '.xye' in filename:      #Topas style xye file (e.g. 2-th, I, sig) - no iparm file/no BANK record
     69#        dlg = wx.MessageDialog(G2frame,'''Is this laboratory Cu Ka1/Ka2 data?
     70#(No = 0.6A wavelength synchrotron data)
     71#Change wavelength in Instrument Parameters if needed''','Data type?',
     72#            wx.YES_NO | wx.ICON_QUESTION)
     73#        try:
     74#            result = dlg.ShowModal()
     75#        finally:
     76#            dlg.Destroy()
     77#        print result
     78#        if result == wx.ID_YES:
     79#            Iparm = {}                                               #Assume CuKa lab data
     80#            Iparm['INS   HTYPE '] = 'PXC '
     81#            Iparm['INS  1 ICONS'] = '  1.540500  1.544300       0.0         0       0.7    0       0.5   '
     82#            Iparm['INS  1PRCF1 '] = '    3    8      0.01                                                '
     83#            Iparm['INS  1PRCF11'] = '   2.000000E+00  -2.000000E+00   5.000000E+00   0.000000E+00        '
     84#            Iparm['INS  1PRCF12'] = '   0.000000E+00   0.000000E+00   0.100000E-01   0.100000E-01        '
     85#        else:
     86#            Iparm = {}                                               #Assume 0.6A synchrotron data
     87#            Iparm['INS   HTYPE '] = 'PXC '
     88#            Iparm['INS  1 ICONS'] = '  0.600000  0.000000       0.0         0      0.99    0       0.5   '
     89#            Iparm['INS  1PRCF1 '] = '    3    8      0.01                                                '
     90#            Iparm['INS  1PRCF11'] = '   1.000000E+00  -1.000000E+00   0.300000E+00   0.000000E+00        '
     91#            Iparm['INS  1PRCF12'] = '   0.000000E+00   0.000000E+00   0.100000E-02   0.100000E-02        '
     92#                       
     93#       
     94#    else:                       #GSAS style fxye or fxy file (e.g. 100*2-th, I, sig)
     95#        G2frame.IparmName = GetInstrumentFile(G2frame,filename)
     96#        if G2frame.IparmName:
     97#            Iparm = GetInstrumentData(G2frame.IparmName)
     98#        else:
     99#            Iparm = {}                                               #Assume CuKa lab data if no iparm file
     100#            Iparm['INS   HTYPE '] = 'PXC '
     101#            Iparm['INS  1 ICONS'] = '  1.540500  1.544300       0.0         0       0.7    0       0.5   '
     102#            Iparm['INS  1PRCF1 '] = '    3    8      0.01                                                '
     103#            Iparm['INS  1PRCF11'] = '   2.000000E+00  -2.000000E+00   5.000000E+00   0.000000E+00        '
     104#            Iparm['INS  1PRCF12'] = '   0.000000E+00   0.000000E+00   0.100000E-01   0.100000E-01        '
     105#    S = 1
     106#    Banks = []
     107#    Pos = []
     108#    FoundData = []
     109#    Comments = []
     110#    wx.BeginBusyCursor()
     111#    try:
     112#        while S:
     113#            S = File.readline()
     114#            if S[:1] != '#':
     115#                if S[:4] == 'BANK':
     116#                    Banks.append(S)
     117#                    Pos.append(File.tell())
     118#                elif '.xye' in filename:    #No BANK in a xye file
     119#                    Banks.append('BANK 1 XYE')
     120#                    Pos.append(File.tell())
     121#                    break
     122#            else:
     123#                Comments.append(S[:-1])
     124#                if 'Temp' in S.split('=')[0]:
     125#                    Temperature = float(S.split('=')[1])
     126#        File.close()
     127#    finally:
     128#        wx.EndBusyCursor()
     129#    if Comments:
     130#       print 'Comments on file:'
     131#       for Comment in Comments: print Comment
     132#    if Banks:
     133#        result = [0]
     134#        if len(Banks) >= 2:
     135#            dlg = wx.MultiChoiceDialog(G2frame, 'Which scans do you want?', 'Select scans', Banks, wx.CHOICEDLG_STYLE)
     136#            try:
     137#                if dlg.ShowModal() == wx.ID_OK:
     138#                    result = dlg.GetSelections()
     139#                else:
     140#                    result = []
     141#            finally:
     142#                dlg.Destroy()
     143#        for i in result:
     144#            FoundData.append((filename,Pos[i],Banks[i]))
     145#    else:
     146#        dlg = wx.MessageDialog(G2frame, 'ERROR - this is not a GSAS powder data file', 'No BANK records', wx.OK | wx.ICON_ERROR)
     147#        try:
     148#            result = dlg.ShowModal()
     149#        finally:
     150#            dlg.Destroy()
     151#    return FoundData,Iparm,Comments,Temperature
     152#
     153## to be removed
     154#def GetInstrumentFile(G2frame,filename):
     155#    import os.path as op
     156#    dlg = wx.FileDialog(G2frame,'Choose an instrument file','.', '', 'GSAS iparm file (*.prm)|*.prm|All files(*.*)|*.*',
     157#        wx.OPEN|wx.CHANGE_DIR)
     158#    Tname = filename[:filename.index('.')]+'.prm'
     159#    if op.exists(Tname):
     160#        G2frame.IparmName = Tname       
     161#    if G2frame.IparmName: dlg.SetFilename(G2frame.IparmName)
     162#    filename = ''
     163#    try:
     164#        if dlg.ShowModal() == wx.ID_OK:
     165#            filename = dlg.GetPath()
     166#    finally:
     167#        dlg.Destroy()
     168#    return filename
     169#
     170## to be removed
     171#def GetInstrumentData(IparmName):
     172#    file = open(IparmName, 'Ur')
     173#    S = 1
     174#    Iparm = {}
     175#    while S:
     176#        S = file.readline()
     177#        Iparm[S[:12]] = S[12:-1]
     178#    return Iparm
    179179   
    180180def GetPowderPeaks(fileName):
     
    308308#    return HKLref,HKLmin,HKLmax,FoMax,ifFc
    309309
    310 # to be removed
    311 def GetPowderData(filename,Pos,Bank,DataType):
    312     '''Reads one BANK of data from GSAS raw powder data file
    313     input:
    314     filename: GSAS raw powder file dataname
    315     Pos: start of data in file just after BANK record
    316     Bank: the BANK record
    317     DataType: powder data type, e.g. "PXC" for Powder X-ray CW data
    318     returns: list [x,y,e,yc,yb]
    319     x: np.array of x-axis values
    320     y: np.array of powder pattern intensities
    321     w: np.array of w=sig(intensity)^2 values
    322     yc: np.array of calc. intensities (zero)
    323     yb: np.array of calc. background (zero)
    324     yd: np.array of obs-calc profiles
    325     '''
    326     print 'Reading: '+filename
    327     print 'Bank:    '+Bank[:-1]
    328     if 'FXYE' in Bank:
    329         return GetFXYEdata(filename,Pos,Bank,DataType)
    330     elif ' XYE' in Bank:
    331         return GetXYEdata(filename,Pos,Bank,DataType)
    332     elif 'FXY' in Bank:
    333         return GetFXYdata(filename,Pos,Bank,DataType)
    334     elif 'ESD' in Bank:
    335         return GetESDdata(filename,Pos,Bank,DataType)
    336     elif 'STD' in Bank:
    337         return GetSTDdata(filename,Pos,Bank,DataType)
    338     else:
    339         return GetSTDdata(filename,Pos,Bank,DataType)
    340     return []
    341 
    342 # to be removed
    343 def GetFXYEdata(filename,Pos,Bank,DataType):
    344     File = open(filename,'Ur')
    345     File.seek(Pos)
    346     x = []
    347     y = []
    348     w = []
    349     S = File.readline()
    350     while S and S[:4] != 'BANK':
    351         vals = S.split()
    352         if DataType[2] == 'C':
    353             x.append(float(vals[0])/100.)               #CW: from centidegrees to degrees
    354         elif DataType[2] == 'T':
    355             x.append(float(vals[0])/1000.0)             #TOF: from musec to millisec
    356         f = float(vals[1])
    357         if f <= 0.0:
    358             y.append(0.0)
    359             w.append(1.0)
    360         else:
    361             y.append(float(vals[1]))
    362             w.append(1.0/float(vals[2])**2)
    363         S = File.readline()
    364     File.close()
    365     N = len(x)
    366     return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
    367    
    368 # to be removed
    369 def GetXYEdata(filename,Pos,Bank,DataType):
    370     File = open(filename,'Ur')
    371     File.seek(Pos)
    372     x = []
    373     y = []
    374     w = []
    375     S = File.readline()
    376     while S:
    377         vals = S.split()
    378         try:
    379             x.append(float(vals[0]))
    380             f = float(vals[1])
    381             if f <= 0.0:
    382                 y.append(0.0)
    383                 w.append(1.0)
    384             else:
    385                 y.append(float(vals[1]))
    386                 w.append(1.0/float(vals[2])**2)
    387             S = File.readline()
    388         except ValueError:
    389             break
    390     File.close()
    391     N = len(x)
    392     return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
    393    
    394    
    395 # to be removed
    396 def GetFXYdata(filename,Pos,Bank,DataType):
    397     File = open(filename,'Ur')
    398     File.seek(Pos)
    399     x = []
    400     y = []
    401     w = []
    402     S = File.readline()
    403     while S and S[:4] != 'BANK':
    404         vals = S.split()
    405         if DataType[2] == 'C':
    406             x.append(float(vals[0])/100.)               #CW: from centidegrees to degrees
    407         elif DataType[2] == 'T':
    408             x.append(float(vals[0])/1000.0)             #TOF: from musec to millisec
    409         f = float(vals[1])
    410         if f > 0.0:
    411             y.append(f)
    412             w.append(1.0/f)
    413         else:             
    414             y.append(0.0)
    415             w.append(1.0)
    416         S = File.readline()
    417     File.close()
    418     N = len(x)
    419     return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
    420    
    421 # to be removed
    422 def GetESDdata(filename,Pos,Bank,DataType):
    423     File = open(filename,'Ur')
    424     cons = Bank.split()
    425     if DataType[2] == 'C':
    426         start = float(cons[5])/100.0               #CW: from centidegrees to degrees
    427         step = float(cons[6])/100.0
    428     elif DataType[2] == 'T':
    429         start = float(cons[5])/1000.0              #TOF: from musec to millisec
    430         step = float(cons[6])/1000.0
    431     File.seek(Pos)
    432     x = []
    433     y = []
    434     w = []
    435     S = File.readline()
    436     j = 0
    437     while S and S[:4] != 'BANK':
    438         for i in range(0,80,16):
    439             xi = start+step*j
    440             yi = sfloat(S[i:i+8])
    441             ei = sfloat(S[i+8:i+16])
    442             x.append(xi)
    443             if yi > 0.0:
    444                 y.append(yi)
    445                 w.append(1.0/ei**2)
    446             else:             
    447                 y.append(0.0)
    448                 w.append(1.0)
    449             j += 1
    450         S = File.readline()
    451     File.close()
    452     N = len(x)
    453     return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
    454 
    455 # to be removed
    456 def GetSTDdata(filename,Pos,Bank,DataType):
    457     File = open(filename,'Ur')
    458     cons = Bank.split()
    459     Nch = int(cons[2])
    460     if DataType[2] == 'C':
    461         start = float(cons[5])/100.0               #CW: from centidegrees to degrees
    462         step = float(cons[6])/100.0
    463     elif DataType[2] == 'T':
    464         start = float(cons[5])/1000.0              #TOF: from musec to millisec - not likely!
    465         step = float(cons[6])/1000.0
    466     File.seek(Pos)
    467     x = []
    468     y = []
    469     w = []
    470     S = File.readline()
    471     j = 0
    472     while S and S[:4] != 'BANK':
    473         for i in range(0,80,8):
    474             xi = start+step*j
    475             ni = max(sint(S[i:i+2]),1)
    476             yi = max(sfloat(S[i+2:i+8]),0.0)
    477             if yi:
    478                 vi = yi/ni
    479             else:
    480                 yi = 0.0
    481                 vi = 1.0
    482             j += 1
    483             if j < Nch:
    484                 x.append(xi)
    485                 y.append(yi)
    486                 w.append(1.0/vi)
    487         S = File.readline()
    488     File.close()
    489     N = len(x)
    490     return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
     310## to be removed
     311#def GetPowderData(filename,Pos,Bank,DataType):
     312#    '''Reads one BANK of data from GSAS raw powder data file
     313#    input:
     314#    filename: GSAS raw powder file dataname
     315#    Pos: start of data in file just after BANK record
     316#    Bank: the BANK record
     317#    DataType: powder data type, e.g. "PXC" for Powder X-ray CW data
     318#    returns: list [x,y,e,yc,yb]
     319#    x: np.array of x-axis values
     320#    y: np.array of powder pattern intensities
     321#    w: np.array of w=sig(intensity)^2 values
     322#    yc: np.array of calc. intensities (zero)
     323#    yb: np.array of calc. background (zero)
     324#    yd: np.array of obs-calc profiles
     325#    '''
     326#    print 'Reading: '+filename
     327#    print 'Bank:    '+Bank[:-1]
     328#    if 'FXYE' in Bank:
     329#        return GetFXYEdata(filename,Pos,Bank,DataType)
     330#    elif ' XYE' in Bank:
     331#        return GetXYEdata(filename,Pos,Bank,DataType)
     332#    elif 'FXY' in Bank:
     333#        return GetFXYdata(filename,Pos,Bank,DataType)
     334#    elif 'ESD' in Bank:
     335#        return GetESDdata(filename,Pos,Bank,DataType)
     336#    elif 'STD' in Bank:
     337#        return GetSTDdata(filename,Pos,Bank,DataType)
     338#    else:
     339#        return GetSTDdata(filename,Pos,Bank,DataType)
     340#    return []
     341#
     342## to be removed
     343#def GetFXYEdata(filename,Pos,Bank,DataType):
     344#    File = open(filename,'Ur')
     345#    File.seek(Pos)
     346#    x = []
     347#    y = []
     348#    w = []
     349#    S = File.readline()
     350#    while S and S[:4] != 'BANK':
     351#        vals = S.split()
     352#        if DataType[2] == 'C':
     353#            x.append(float(vals[0])/100.)               #CW: from centidegrees to degrees
     354#        elif DataType[2] == 'T':
     355#            x.append(float(vals[0])/1000.0)             #TOF: from musec to millisec
     356#        f = float(vals[1])
     357#        if f <= 0.0:
     358#            y.append(0.0)
     359#            w.append(1.0)
     360#        else:
     361#            y.append(float(vals[1]))
     362#            w.append(1.0/float(vals[2])**2)
     363#        S = File.readline()
     364#    File.close()
     365#    N = len(x)
     366#    return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
     367#   
     368## to be removed
     369#def GetXYEdata(filename,Pos,Bank,DataType):
     370#    File = open(filename,'Ur')
     371#    File.seek(Pos)
     372#    x = []
     373#    y = []
     374#    w = []
     375#    S = File.readline()
     376#    while S:
     377#        vals = S.split()
     378#        try:
     379#            x.append(float(vals[0]))
     380#            f = float(vals[1])
     381#            if f <= 0.0:
     382#                y.append(0.0)
     383#                w.append(1.0)
     384#            else:
     385#                y.append(float(vals[1]))
     386#                w.append(1.0/float(vals[2])**2)
     387#            S = File.readline()
     388#        except ValueError:
     389#            break
     390#    File.close()
     391#    N = len(x)
     392#    return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
     393#   
     394#   
     395## to be removed
     396#def GetFXYdata(filename,Pos,Bank,DataType):
     397#    File = open(filename,'Ur')
     398#    File.seek(Pos)
     399#    x = []
     400#    y = []
     401#    w = []
     402#    S = File.readline()
     403#    while S and S[:4] != 'BANK':
     404#        vals = S.split()
     405#        if DataType[2] == 'C':
     406#            x.append(float(vals[0])/100.)               #CW: from centidegrees to degrees
     407#        elif DataType[2] == 'T':
     408#            x.append(float(vals[0])/1000.0)             #TOF: from musec to millisec
     409#        f = float(vals[1])
     410#        if f > 0.0:
     411#            y.append(f)
     412#            w.append(1.0/f)
     413#        else:             
     414#            y.append(0.0)
     415#            w.append(1.0)
     416#        S = File.readline()
     417#    File.close()
     418#    N = len(x)
     419#    return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
     420#   
     421## to be removed
     422#def GetESDdata(filename,Pos,Bank,DataType):
     423#    File = open(filename,'Ur')
     424#    cons = Bank.split()
     425#    if DataType[2] == 'C':
     426#        start = float(cons[5])/100.0               #CW: from centidegrees to degrees
     427#        step = float(cons[6])/100.0
     428#    elif DataType[2] == 'T':
     429#        start = float(cons[5])/1000.0              #TOF: from musec to millisec
     430#        step = float(cons[6])/1000.0
     431#    File.seek(Pos)
     432#    x = []
     433#    y = []
     434#    w = []
     435#    S = File.readline()
     436#    j = 0
     437#    while S and S[:4] != 'BANK':
     438#        for i in range(0,80,16):
     439#            xi = start+step*j
     440#            yi = sfloat(S[i:i+8])
     441#            ei = sfloat(S[i+8:i+16])
     442#            x.append(xi)
     443#            if yi > 0.0:
     444#                y.append(yi)
     445#                w.append(1.0/ei**2)
     446#            else:             
     447#                y.append(0.0)
     448#                w.append(1.0)
     449#            j += 1
     450#        S = File.readline()
     451#    File.close()
     452#    N = len(x)
     453#    return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
     454#
     455## to be removed
     456#def GetSTDdata(filename,Pos,Bank,DataType):
     457#    File = open(filename,'Ur')
     458#    cons = Bank.split()
     459#    Nch = int(cons[2])
     460#    if DataType[2] == 'C':
     461#        start = float(cons[5])/100.0               #CW: from centidegrees to degrees
     462#        step = float(cons[6])/100.0
     463#    elif DataType[2] == 'T':
     464#        start = float(cons[5])/1000.0              #TOF: from musec to millisec - not likely!
     465#        step = float(cons[6])/1000.0
     466#    File.seek(Pos)
     467#    x = []
     468#    y = []
     469#    w = []
     470#    S = File.readline()
     471#    j = 0
     472#    while S and S[:4] != 'BANK':
     473#        for i in range(0,80,8):
     474#            xi = start+step*j
     475#            ni = max(sint(S[i:i+2]),1)
     476#            yi = max(sfloat(S[i+2:i+8]),0.0)
     477#            if yi:
     478#                vi = yi/ni
     479#            else:
     480#                yi = 0.0
     481#                vi = 1.0
     482#            j += 1
     483#            if j < Nch:
     484#                x.append(xi)
     485#                y.append(yi)
     486#                w.append(1.0/vi)
     487#        S = File.readline()
     488#    File.close()
     489#    N = len(x)
     490#    return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
    491491   
    492492def CheckImageFile(G2frame,imagefile):
     
    833833                sub = G2frame.PatternTree.AppendItem(Id,datus[0])
    834834                G2frame.PatternTree.SetItemPyData(sub,datus[1])
    835             if 'IMG' in datum[0]:                   #retreive image default flag & data if set
     835            if 'IMG' in datum[0]:                   #retrieve image default flag & data if set
    836836                Data = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Image Controls'))
    837837                if Data['setDefault']:
     
    15101510            }
    15111511        self.Parameters = [ # list with data collection parameters
    1512             ('SXC',1.5428),
    1513             ['SXC',1.5428],
     1512            ('SXC',0.70926),
     1513            ['SXC',0.70926],
    15141514            ['Type','Lam']
    15151515            ]
     
    15541554            self.Controls['FoMax'] = Fo2max
    15551555        else:
    1556             print "Unsupported Stract Fact type in ImportStructFactor.UpdateControls"
    1557             raise Exception,"Unsupported Stract Fact type in ImportStructFactor.UpdateControls"
     1556            print "Unsupported Struct Fact type in ImportStructFactor.UpdateControls"
     1557            raise Exception,"Unsupported Struct Fact type in ImportStructFactor.UpdateControls"
    15581558
    15591559######################################################################
Note: See TracChangeset for help on using the changeset viewer.