Changeset 1507


Ignore:
Timestamp:
Sep 26, 2014 10:52:52 AM (8 years ago)
Author:
vondreele
Message:

split out defaultIparms from the ImportPowderData? class into a separate py file & import it where it is needed in GetPowderIparm?
allow lines in .instparm files concatenated with ';' separators

Location:
trunk
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r1506 r1507  
    838838        '''Read lines from a GSAS-II (new) instrument parameter file
    839839
    840         :param list instLines: strings from GSAs-II parameter file
     840        :param list instLines: strings from GSAS-II parameter file; can be concatenated with ';'
    841841
    842842        '''
     
    848848            if S[0] == '#':
    849849                continue
    850             [item,val] = S[:-1].split(':')
    851             newItems.append(item)
    852             try:
    853                 newVals.append(float(val))
    854             except ValueError:
    855                 newVals.append(val)                       
     850            SS = S[:-1].split(';')
     851            for s in SS:
     852                [item,val] = s.split(':')
     853                newItems.append(item)
     854                try:
     855                    newVals.append(float(val))
     856                except ValueError:
     857                    newVals.append(val)                       
    856858        return G2IO.makeInstDict(newItems,newVals,len(newVals)*[False,]),{}
    857859       
     
    11931195       
    11941196        # still no success: offer user choice of defaults
     1197        import defaultIparms as dI
    11951198        while True: # loop until we get a choice
    11961199            choices = []
    11971200            head = 'Select from default instrument parameters for '+rd.idstring
    11981201
    1199             for l in rd.defaultIparm_lbl:
     1202            for l in dI.defaultIparm_lbl:
    12001203                choices.append('Defaults for '+l)
    12011204            res = rd.BlockSelector(
     
    12071210            if res is None: continue
    12081211            rd.instfile = ''
    1209             rd.instmsg = 'default: '+rd.defaultIparm_lbl[res]
    1210             return SetPowderInstParms(rd.defaultIparms[res],rd)
     1212            rd.instmsg = 'default: '+dI.defaultIparm_lbl[res]
     1213            #return rd.ReadPowderInstprm(dI.defaultIparms[res])
     1214            return SetPowderInstParms(dI.defaultIparms[res],rd)
    12111215
    12121216    def OnImportPowder(self,event):
  • trunk/GSASIIIO.py

    r1503 r1507  
    16651665    for an explanation on how to use this class.
    16661666    '''
    1667     # define some default instrument parameter files
    1668     # just like GSAS, sigh
    1669     defaultIparm_lbl = []
    1670     defaultIparms = []
    1671     defaultIparm_lbl.append('CuKa lab data')
    1672     defaultIparms.append({
    1673         'INS   HTYPE ':'PXC ',
    1674         'INS  1 ICONS':'  1.540500  1.544300       0.0         0       0.7    0       0.5   ',
    1675         'INS  1PRCF1 ':'    3    8      0.01                                                ',
    1676         'INS  1PRCF11':'   2.000000E+00  -2.000000E+00   5.000000E+00   0.000000E+00        ',
    1677         'INS  1PRCF12':'   0.000000E+00   0.000000E+00   0.150000E-01   0.150000E-01        ',
    1678         })
    1679     defaultIparm_lbl.append('0.6A synch')
    1680     defaultIparms.append({
    1681         'INS   HTYPE ':'PXC ',
    1682         'INS  1 ICONS':'  0.600000  0.000000       0.0         0      0.99    0       0.5   ',
    1683         'INS  1PRCF1 ':'    3    8      0.01                                                ',
    1684         'INS  1PRCF11':'   1.000000E+00  -1.000000E+00   0.300000E+00   0.000000E+00        ',
    1685         'INS  1PRCF12':'   0.000000E+00   0.000000E+00   0.100000E-01   0.100000E-01        ',
    1686         })
    1687     defaultIparm_lbl.append('1.5A CW neutron data')
    1688     defaultIparms.append({
    1689         'INS   HTYPE ':'PNC',
    1690         'INS  1 ICONS':'   1.54020   0.00000   0.04000         0',
    1691         'INS  1PRCF1 ':'    3    8     0.005',
    1692         'INS  1PRCF11':'   0.239700E+03  -0.298200E+03   0.180800E+03   0.000000E+00',
    1693         'INS  1PRCF12':'   0.000000E+00   0.000000E+00   0.400000E-01   0.300000E-01',
    1694         })
    1695     defaultIparm_lbl.append('10m TOF backscattering bank')
    1696     defaultIparms.append({
    1697         'INS   FPATH1':'      9.00',
    1698         'INS   HTYPE ':'PNT',
    1699         'INS  1 ICONS':'   5000.00      0.00      0.00',
    1700         'INS  1BNKPAR':'    1.0000   150.000',       
    1701         'INS  1PRCF1 ':'    1    8   0.01000',
    1702         'INS  1PRCF11':'   0.000000E+00   5.000000E+00   3.000000E-02   1.000000E-03',
    1703         'INS  1PRCF12':'   0.000000E+00   4.000000E+01   0.000000E+00   0.000000E+00',       
    1704         })
    1705     defaultIparm_lbl.append('10m TOF 90deg bank')
    1706     defaultIparms.append({
    1707         'INS   FPATH1':'      9.00',
    1708         'INS   HTYPE ':'PNT',
    1709         'INS  1 ICONS':'   3500.00      0.00      0.00',
    1710         'INS  1BNKPAR':'    1.0000    90.000',       
    1711         'INS  1PRCF1 ':'    1    8   0.01000',
    1712         'INS  1PRCF11':'   0.000000E+00   5.000000E+00   3.000000E-02   4.000000E-03',
    1713         'INS  1PRCF12':'   0.000000E+00   8.000000E+01   0.000000E+00   0.000000E+00',       
    1714         })
    1715     defaultIparm_lbl.append('63m POWGEN 90deg bank')
    1716     defaultIparms.append({
    1717         'INS   FPATH1':'     60.00',
    1718         'INS   HTYPE ':'PNT',
    1719         'INS  1 ICONS':'  22585.80      0.00      0.00',
    1720         'INS  1BNKPAR':'     3.169    90.000',       
    1721         'INS  1PRCF1 ':'    1    8   0.01000',
    1722         'INS  1PRCF11':'   0.000000E+00   1.000000E+00   3.000000E-02   4.000000E-03',
    1723         'INS  1PRCF12':'   0.000000E+00   8.000000E+01   0.000000E+00   0.000000E+00',       
    1724         })
    17251667    def __init__(self,
    17261668                 formatName,
  • trunk/GSASIIpwdGUI.py

    r1506 r1507  
    11381138                filename = os.path.splitext(filename)[0]+'.instprm'
    11391139                File = open(filename,'w')
    1140                 File.write("#GSAS-II instrument parameter file; do not add/delete or change order of items!\n")
     1140                File.write("#GSAS-II instrument parameter file; do not add/delete items!\n")
    11411141                for item in data:
    11421142                    File.write(item+':'+str(data[item][1])+'\n')
Note: See TracChangeset for help on using the changeset viewer.