Changeset 13043af in sasview for src/sas/sascalc/dataloader/readers
- Timestamp:
- Feb 28, 2017 1:20:34 PM (8 years ago)
- Parents:
- 46f798f (diff), 0d64713 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - git-author:
- Jeff Krzywon <krzywon@…> (02/28/17 13:20:34)
- git-committer:
- GitHub <noreply@…> (02/28/17 13:20:34)
- Location:
- src/sas/sascalc/dataloader/readers
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sascalc/dataloader/readers/cansas_constants.py
rad4632c r0d64713 133 133 "variable" : None, 134 134 "children" : {"Idata" : SASDATA_IDATA, 135 "Sesans": {"storeas": "content"},136 "zacceptance": {"storeas": "float"},137 135 "<any>" : ANY 138 136 } -
src/sas/sascalc/dataloader/readers/cansas_reader.py
rc221349 r0d64713 261 261 # I and Q - 1D data 262 262 elif tagname == 'I' and isinstance(self.current_dataset, plottable_1D): 263 unit_list = unit.split("|") 264 if len(unit_list) > 1: 265 self.current_dataset.yaxis(unit_list[0].strip(), 266 unit_list[1].strip()) 267 else: 268 self.current_dataset.yaxis("Intensity", unit) 263 self.current_dataset.yaxis("Intensity", unit) 269 264 self.current_dataset.y = np.append(self.current_dataset.y, data_point) 270 265 elif tagname == 'Idev' and isinstance(self.current_dataset, plottable_1D): 271 266 self.current_dataset.dy = np.append(self.current_dataset.dy, data_point) 272 267 elif tagname == 'Q': 273 unit_list = unit.split("|") 274 if len(unit_list) > 1: 275 self.current_dataset.xaxis(unit_list[0].strip(), 276 unit_list[1].strip()) 277 else: 278 self.current_dataset.xaxis("Q", unit) 268 self.current_dataset.xaxis("Q", unit) 279 269 self.current_dataset.x = np.append(self.current_dataset.x, data_point) 280 270 elif tagname == 'Qdev': … … 288 278 elif tagname == 'Shadowfactor': 289 279 pass 290 elif tagname == 'Sesans':291 self.current_datainfo.isSesans = bool(data_point)292 elif tagname == 'zacceptance':293 self.current_datainfo.sample.zacceptance = (data_point, unit)294 280 295 281 # I and Qx, Qy - 2D data … … 1034 1020 node.append(point) 1035 1021 self.write_node(point, "Q", datainfo.x[i], 1036 {'unit': datainfo. _xaxis + " | " + datainfo._xunit})1022 {'unit': datainfo.x_unit}) 1037 1023 if len(datainfo.y) >= i: 1038 1024 self.write_node(point, "I", datainfo.y[i], 1039 {'unit': datainfo. _yaxis + " | " + datainfo._yunit})1025 {'unit': datainfo.y_unit}) 1040 1026 if datainfo.dy is not None and len(datainfo.dy) > i: 1041 1027 self.write_node(point, "Idev", datainfo.dy[i], 1042 {'unit': datainfo. _yaxis + " | " + datainfo._yunit})1028 {'unit': datainfo.y_unit}) 1043 1029 if datainfo.dx is not None and len(datainfo.dx) > i: 1044 1030 self.write_node(point, "Qdev", datainfo.dx[i], 1045 {'unit': datainfo. _xaxis + " | " + datainfo._xunit})1031 {'unit': datainfo.x_unit}) 1046 1032 if datainfo.dxw is not None and len(datainfo.dxw) > i: 1047 1033 self.write_node(point, "dQw", datainfo.dxw[i], 1048 {'unit': datainfo. _xaxis + " | " + datainfo._xunit})1034 {'unit': datainfo.x_unit}) 1049 1035 if datainfo.dxl is not None and len(datainfo.dxl) > i: 1050 1036 self.write_node(point, "dQl", datainfo.dxl[i], 1051 {'unit': datainfo._xaxis + " | " + datainfo._xunit}) 1052 if datainfo.isSesans: 1053 sesans = self.create_element("Sesans") 1054 sesans.text = str(datainfo.isSesans) 1055 node.append(sesans) 1056 self.write_node(node, "zacceptance", datainfo.sample.zacceptance[0], 1057 {'unit': datainfo.sample.zacceptance[1]}) 1058 1037 {'unit': datainfo.x_unit}) 1059 1038 1060 1039 def _write_data_2d(self, datainfo, entry_node): -
src/sas/sascalc/dataloader/readers/sesans_reader.py
r7caf3e5 r0d64713 8 8 import numpy 9 9 import os 10 from sas.sascalc.dataloader.data_info import Data1D10 from sas.sascalc.dataloader.data_info import SESANSData1D 11 11 12 12 # Check whether we have a converter available … … 59 59 raise RuntimeError, "sesans_reader: cannot open %s" % path 60 60 buff = input_f.read() 61 # print buff 61 62 lines = buff.splitlines() 63 # print lines 64 #Jae could not find python universal line spliter: 65 #keep the below for now 66 # some ascii data has \r line separator, 67 # try it when the data is on only one long line 68 # if len(lines) < 2 : 69 # lines = buff.split('\r') 70 62 71 x = numpy.zeros(0) 63 72 y = numpy.zeros(0) … … 74 83 tdlam = numpy.zeros(0) 75 84 tdx = numpy.zeros(0) 76 output = Data1D(x=x, y=y, lam=lam, dy=dy, dx=dx, dlam=dlam, isSesans=True) 85 # print "all good" 86 output = SESANSData1D(x=x, y=y, lam=lam, dy=dy, dx=dx, dlam=dlam) 87 # print output 77 88 self.filename = output.filename = basename 78 89 90 # #Initialize counters for data lines and header lines. 91 # is_data = False # Has more than 5 lines 92 # # More than "5" lines of data is considered as actual 93 # # data unless that is the only data 94 # mum_data_lines = 5 95 # # To count # of current data candidate lines 96 # i = -1 97 # # To count total # of previous data candidate lines 98 # i1 = -1 99 # # To count # of header lines 100 # j = -1 101 # # Helps to count # of header lines 102 # j1 = -1 103 # #minimum required number of columns of data; ( <= 4). 104 # lentoks = 2 79 105 paramnames=[] 80 106 paramvals=[] … … 85 111 Pvals=[] 86 112 dPvals=[] 87 113 # print x 114 # print zvals 88 115 for line in lines: 89 116 # Initial try for CSV (split on ,) … … 95 122 if len(toks)>5: 96 123 zvals.append(toks[0]) 97 dzvals.append(toks[ 3])98 lamvals.append(toks[ 4])99 dlamvals.append(toks[ 5])100 Pvals.append(toks[ 1])101 dPvals.append(toks[ 2])124 dzvals.append(toks[1]) 125 lamvals.append(toks[2]) 126 dlamvals.append(toks[3]) 127 Pvals.append(toks[4]) 128 dPvals.append(toks[5]) 102 129 else: 103 130 continue … … 113 140 default_z_unit = "A" 114 141 data_conv_P = None 115 default_p_unit = " " # Adjust unit for axis (L^-3)142 default_p_unit = " " 116 143 lam_unit = lam_header[1].replace("[","").replace("]","") 117 if lam_unit == 'AA':118 lam_unit = 'A'119 144 varheader=[zvals[0],dzvals[0],lamvals[0],dlamvals[0],Pvals[0],dPvals[0]] 120 145 valrange=range(1, len(zvals)) … … 136 161 output.x, output.x_unit = self._unit_conversion(x, lam_unit, default_z_unit) 137 162 output.y = y 138 output.y_unit = r'\AA^{-2} cm^{-1}' # output y_unit added139 163 output.dx, output.dx_unit = self._unit_conversion(dx, lam_unit, default_z_unit) 140 164 output.dy = dy 141 165 output.lam, output.lam_unit = self._unit_conversion(lam, lam_unit, default_z_unit) 142 166 output.dlam, output.dlam_unit = self._unit_conversion(dlam, lam_unit, default_z_unit) 143 167 144 168 output.xaxis(r"\rm{z}", output.x_unit) 145 output.yaxis(r"\rm{ln(P)/(t \lambda^2)}", output.y_unit) # Adjust label to ln P/(lam^2 t), remove lam column refs 146 169 output.yaxis(r"\rm{P/P0}", output.y_unit) 147 170 # Store loading process information 148 171 output.meta_data['loader'] = self.type_name 149 #output.sample.thickness = float(paramvals[6])172 output.sample.thickness = float(paramvals[6]) 150 173 output.sample.name = paramvals[1] 151 174 output.sample.ID = paramvals[0] 152 175 zaccept_unit_split = paramnames[7].split("[") 153 176 zaccept_unit = zaccept_unit_split[1].replace("]","") 154 if zaccept_unit.strip() == r'\AA^-1' or zaccept_unit.strip() == r'\A^-1':177 if zaccept_unit.strip() == r'\AA^-1': 155 178 zaccept_unit = "1/A" 156 179 output.sample.zacceptance=(float(paramvals[7]),zaccept_unit) 157 output.vars =varheader180 output.vars=varheader 158 181 159 182 if len(output.x) < 1:
Note: See TracChangeset
for help on using the changeset viewer.