Package reflectometry :: Package model1d :: Package profileview :: Module str2Data

Source Code for Module reflectometry.model1d.profileview.str2Data

  1  import numpy 
  2   
3 -def read_data(inlines ):
4 lines = inlines.strip().split('\n') 5 data = [] 6 for text in lines: 7 if text[0] == '#': continue 8 data.append([float(value) for value in text.split()]) 9 return numpy.array(data)
10 11
12 -def load_inline2(inlines ):
13 """Load data from inline data""" 14 A = read_data( inlines) 15 columns = A.shape[1] 16 if columns == 2: 17 _columns = ['Q','R'] 18 _Q = A[:,0] 19 _R = A[:,1] 20 _dQ = None 21 _dR = None 22 return [_Q, _R] 23 elif columns == 3: 24 _columns = ['Q','R','dR'] 25 _Q = A[:,0] 26 _dQ = None 27 _R = A[:,1] 28 _dR = A[:,2] 29 return [_Q, _R, _dR] 30 elif columns == 4: 31 _columns = ['Q','dQ','R','dR'] 32 _Q = A[:,0] 33 _dQ = A[:,1] 34 _R = A[:,2] 35 _dR = A[:,3] 36 return [_Q, _dQ, _R, _dR] 37 elif columns == 5: 38 _columns = ['Q','dQ','R','dR','L'] 39 _Q = A[:,0] 40 _dQ = A[:,1] 41 _R = A[:,2] 42 _dR = A[:,3] 43 L = A[:,4] # FIXME, it is wavelength, later we maybe use it 44 return [_Q, _dQ, _R, _dR, L]
45 46
47 -def load_inline(inlines ):
48 """Load data from inline data""" 49 A = read_data( inlines) 50 columns = A.shape[1] 51 if columns == 2: 52 _columns = ['Q','R'] 53 _Q = A[:,0] 54 _R = A[:,1] 55 return [_Q, _R] 56 elif columns == 3: 57 _columns = ['Q','R','dR'] 58 _Q = A[:,0] 59 _R = A[:,1] 60 _dR = A[:,2] 61 return [_Q, _R, _dR] 62 elif columns == 4: 63 _columns = ['Q','dQ','R','dR'] 64 _Q = A[:,0] 65 _dQ = A[:,1] 66 _R = A[:,2] 67 _dR = A[:,3] 68 return [_Q, _R, _dR] 69 elif columns == 5: 70 _columns = ['Q','dQ','R','dR','L'] 71 _Q = A[:,0] 72 _dQ = A[:,1] 73 _R = A[:,2] 74 _dR = A[:,3] 75 L = A[:,4] # FIXME, it is wavelength, later we maybe use it 76 return [_Q, _R, _dR ]
77 78 79 80 81 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
82 -def Data2Str( _data ):
83 R = "" 84 if _data != None: 85 86 if len( _data ) <=4: 87 88 for i in range( len( _data[0]) ) : 89 aline = "" 90 for m in range( 3 ) : 91 aline += str( _data[m][i] ) +' ' 92 R += aline + '\n' 93 94 elif len( _data ) ==16: 95 96 for i in range( len( _data[0]) ) : 97 aline = "" 98 for m in range( 3 ) : 99 aline += str( _data[m][i]) +' ' 100 R += aline + '\n' 101 102 R += '#' 103 104 for i in range( len( _data[4] ) ) : 105 aline = "" 106 for m in range( 3 ) : 107 aline += str( _data[m+4][i]) +' ' 108 R += aline + '\n' 109 110 R += '#' 111 112 for i in range( len( _data[8]) ) : 113 aline = "" 114 for m in range( 3 ) : 115 aline += str( _data[m+8][i]) +' ' 116 R += aline + '\n' 117 118 R += '#' 119 for i in range( len( _data[12]) ) : 120 aline = "" 121 for m in range( 3 ) : 122 aline += str( _data[m+12][i]) +' ' 123 R += aline + '\n' 124 125 126 return R
127