Changeset 1574


Ignore:
Timestamp:
Nov 20, 2014 12:57:51 PM (7 years ago)
Author:
toby
Message:

import PWDR parms when importing from GPX

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r1573 r1574  
    12661266        self.EnablePlot = False
    12671267        for rd in rdlist:
    1268             # get instrument parameters for each dataset
    1269             Iparm1,Iparm2 = self.GetPowderIparm(rd, Iparm, lastIparmfile, lastdatafile)
    1270             if rd.repeat_instparm:
    1271                 lastIparmfile = rd.instfile
     1268            if 'Instrument Parameters' not in rd.pwdparms:
     1269                # get instrument parameters for each dataset, unless already set
     1270                Iparm1,Iparm2 = self.GetPowderIparm(rd, Iparm, lastIparmfile, lastdatafile)
     1271                if rd.repeat_instparm:
     1272                    lastIparmfile = rd.instfile
     1273            else:
     1274                Iparm1,Iparm2 = rd.pwdparms['Instrument Parameters']
    12721275            lastdatafile = rd.powderentry[0]
    12731276            HistName = rd.idstring
     
    13041307                rd.powderdata[4] = np.zeros_like(rd.powderdata[0])                                       
    13051308                rd.powderdata[5] = np.zeros_like(rd.powderdata[0])                                       
    1306             Tmin = min(rd.powderdata[0])
    1307             Tmax = max(rd.powderdata[0])
    13081309            valuesdict = {
    13091310                'wtFactor':1.0,
     
    13161317                self.PatternTree.AppendItem(Id,text='Comments'),
    13171318                rd.comments)
     1319            Tmin = min(rd.powderdata[0])
     1320            Tmax = max(rd.powderdata[0])
    13181321            self.PatternTree.SetItemPyData(
    13191322                self.PatternTree.AppendItem(Id,text='Limits'),
    1320                 [(Tmin,Tmax),[Tmin,Tmax]])
     1323                rd.pwdparms.get('Limits',[(Tmin,Tmax),[Tmin,Tmax]])
     1324                )
    13211325            self.PatternId = G2gd.GetPatternTreeItemId(self,Id,'Limits')
    13221326            self.PatternTree.SetItemPyData(
    13231327                self.PatternTree.AppendItem(Id,text='Background'),
    1324                 [['chebyschev',True,3,1.0,0.0,0.0],
    1325                  {'nDebye':0,'debyeTerms':[],'nPeaks':0,'peaksList':[]}])
     1328                rd.pwdparms.get('Background',
     1329                    [['chebyschev',True,3,1.0,0.0,0.0],{'nDebye':0,'debyeTerms':[],'nPeaks':0,'peaksList':[]}])
     1330                    )
    13261331            self.PatternTree.SetItemPyData(
    13271332                self.PatternTree.AppendItem(Id,text='Instrument Parameters'),
  • trunk/GSASIIIO.py

    r1573 r1574  
    17101710        self.numbanks = 1
    17111711        self.instdict = {} # place items here that will be transferred to the instrument parameters
     1712        self.pwdparms = {} # place parameters that are transferred directly to the tree
     1713                           # here (typically from an existing GPX file)
    17121714######################################################################
    17131715class ImportSmallAngleData(ImportBaseclass):
  • trunk/imports/G2pwd_GPX.py

    r1168 r1574  
    8686                ParentFrame=ParentFrame,
    8787                title='Select histogram(s) to read from the list below',
    88                 size=(600,100),
     88                size=(600,250),
    8989                header='Dataset Selector')
    9090            if len(selections) == 0:
     
    116116            self.powderentry[0] = filename
    117117            self.powderentry[2] = selblk+1
     118            # pull some sections from the PWDR children
     119            for i in range(1,len(data)):
     120                if data[i][0] == 'Comments':
     121                    self.comments = data[i][1]
     122                    continue
     123                elif data[i][0] == 'Sample Parameters':
     124                    self.Sample = data[i][1]
     125                    continue
     126                for keepitem in ('Limits','Background','Instrument Parameters'):
     127                    if data[i][0] == keepitem:
     128                        self.pwdparms[data[i][0]] = data[i][1]
     129                        break
    118130            self.idstring = data[0][0][5:]
    119             # pull out wavelength
    120             try:
    121                 if len(data[4][1]) == 2: # current GPX file
    122                     if data[4][1][0].get('Lam'):
    123                         self.instdict['wave'] = [data[4][1][0].get('Lam')[1]]
    124                     elif data[4][1][0].get('Lam1') and data[4][1][0].get('Lam2'):
    125                         self.instdict['wave'] = [
    126                             data[4][1][0].get('Lam1')[1],
    127                             data[4][1][0].get('Lam2')[1]
    128                             ]
    129                 elif len(data[4][1]) == 4: # original GPX file
    130                     pos = data[4][1][3].index('Lam')
    131                     self.instdict['wave'] = [data[4][1][1][pos],]
    132             except:
    133                 self.warnings += "Failed to read wavelength"
    134                 self.warnings += '\n  '+str(detail)
    135             # pull out temperature
    136             try:
    137                 if data[5][1].get('Temperature'):
    138                     self.Sample['Temperature'] = data[5][1]['Temperature']
    139             except:
    140                 self.warnings += "Failed to read temperature"
    141                 self.warnings += '\n  '+str(detail)
    142131            self.repeat_instparm = False # prevent reuse of iparm when several hists are read
    143132            return True
Note: See TracChangeset for help on using the changeset viewer.