Ignore:
Timestamp:
Aug 3, 2016 8:14:47 PM (5 years ago)
Author:
vondreele
Message:

change spin flip from red/black to -1/1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/imports/G2pwd_BrukerRAW.py

    r2341 r2406  
    88########### SVN repository information ###################
    99'''
    10 *Module G2pwd_xye: Topas .xye data*
     10*Module G2pwd_BrukerRAW: Bruker 3 & 4 .raw data*
    1111------------------------------------
    1212
    13 Routine to read in powder data from a Topas-compatible .xye file
     13Routine to read in powder data from a Bruker 3 & 4 .raw file
    1414
    1515'''
     
    4343        elif head == 'RAW1.01':
    4444            self.formatName = 'Bruker RAW ver. 3'
     45        elif head == 'RAW4.00':
     46            self.formatName = 'Bruker RAW ver. 4'
    4547        else:
    4648            self.errors = 'Unexpected information in header: '
     
    101103                traceback.print_exc(file=sys.stdout)
    102104                return False
    103                
    104                
    105105        elif 'ver. 3' in self.formatName:
    106106            try:
     
    155155                return False
    156156           
     157        elif 'ver. 4' in self.formatName:   #does not work - format still elusive
     158            try:
     159                File.seek(12)   #ok
     160                self.comments.append('Date='+File.read(10))
     161                self.comments.append('Time='+File.read(10))
     162                File.seek(144)
     163                self.comments.append('Sample='+File.read(60))
     164                File.seek(564)  # where is it?
     165                radius = st.unpack('<f',File.read(4))[0]
     166                self.comments.append('Gonio. radius=%.2f'%(radius))
     167                self.Sample['Gonio. radius'] = radius
     168                File.seek(516)  #ok
     169                self.comments.append('Anode='+File.read(4))
     170                File.seek(472)  #ok
     171                self.comments.append('Ka mean=%.5f'%(st.unpack('<d',File.read(8))[0]))
     172                self.comments.append('Ka1=%.5f'%(st.unpack('<d',File.read(8))[0]))
     173                self.comments.append('Ka2=%.5f'%(st.unpack('<d',File.read(8))[0]))
     174                self.comments.append('Kb=%.5f'%(st.unpack('<d',File.read(8))[0]))
     175                self.comments.append('Ka2/Ka1=%.5f'%(st.unpack('<d',File.read(8))[0]))
     176                File.seek(pos)  #deliberate fail here - pos not known from file contents
     177                self.idstring = ospath.basename(filename) + ' Scan '+str(1)
     178                nSteps = int(st.unpack('<i',File.read(4))[0])
     179                t = st.unpack('<d',File.read(8))[0]
     180                start2Th = st.unpack('<d',File.read(8))[0]
     181                File.seek(pos+176)
     182                step = st.unpack('<d',File.read(8))[0]
     183                pos += headLen      #position at start of data block
     184                File.seek(pos)                                   
     185                x = np.array([start2Th+i*step for i in range(nSteps)])
     186                y = np.array([max(1.,st.unpack('<f',File.read(4))[0]) for i in range(nSteps)])
     187                w = 1./y
     188                self.powderdata = [x,y,w,np.zeros(nSteps),np.zeros(nSteps),np.zeros(nSteps)]
     189                File.close()
     190            except Exception as detail:
     191                self.errors += '\n  '+str(detail)
     192                print self.formatName+' read error:'+str(detail) # for testing
     193                import traceback
     194                traceback.print_exc(file=sys.stdout)
     195                return False
     196           
    157197        return True
Note: See TracChangeset for help on using the changeset viewer.