Changeset 9d786e5 in sasview for src/sas/sascalc/dataloader/file_reader_base_class.py
- Timestamp:
- Jul 27, 2017 11:08:18 AM (7 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 8dec7e7
- Parents:
- 0b79323
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sascalc/dataloader/file_reader_base_class.py
r0b79323 r9d786e5 59 59 elif isinstance(self.output[0], Data2D): 60 60 self.sort_two_d_data() 61 61 62 62 except DataReaderException as e: 63 63 self.handle_error_message(e.message) … … 107 107 # Sort data by increasing x and remove 1st point 108 108 ind = np.lexsort((data.y, data.x)) 109 ind = ind[1:] # Remove 1st point (Q, I) = (0, 0) 110 data.x = np.asarray([data.x[i] for i in ind]) 111 data.y = np.asarray([data.y[i] for i in ind]) 109 data.x = np.asarray([data.x[i] for i in ind]).astype(np.float64) 110 data.y = np.asarray([data.y[i] for i in ind]).astype(np.float64) 112 111 if data.dx is not None: 113 data.dx = np.asarray([data.dx[i] for i in ind]) 112 data.dx = np.asarray([data.dx[i] for i in ind]).astype(np.float64) 114 113 if data.dxl is not None: 115 data.dxl = np.asarray([data.dxl[i] for i in ind]) 114 data.dxl = np.asarray([data.dxl[i] for i in ind]).astype(np.float64) 116 115 if data.dxw is not None: 117 data.dxw = np.asarray([data.dxw[i] for i in ind]) 116 data.dxw = np.asarray([data.dxw[i] for i in ind]).astype(np.float64) 118 117 if data.dy is not None: 119 data.dy = np.asarray([data.dy[i] for i in ind]) 118 data.dy = np.asarray([data.dy[i] for i in ind]).astype(np.float64) 120 119 if data.lam is not None: 121 data.lam = np.asarray([data.lam[i] for i in ind]) 120 data.lam = np.asarray([data.lam[i] for i in ind]).astype(np.float64) 122 121 if data.dlam is not None: 123 data.dlam = np.asarray([data.dlam[i] for i in ind]) 122 data.dlam = np.asarray([data.dlam[i] for i in ind]).astype(np.float64) 124 123 data.xmin = np.min(data.x) 125 124 data.xmax = np.max(data.x) … … 128 127 final_list.append(data) 129 128 self.output = final_list 129 self.remove_empty_q_values() 130 130 131 131 def sort_two_d_data(self): 132 132 final_list = [] 133 133 for dataset in self.output: 134 dataset.data = dataset.data.astype(np.float64) 135 dataset.qx_data = dataset.qx_data.astype(np.float64) 136 dataset.xmin = np.min(dataset.qx_data) 137 dataset.xmax = np.max(dataset.qx_data) 138 dataset.qy_data = dataset.qy_data.astype(np.float64) 139 dataset.ymin = np.min(dataset.qy_data) 140 dataset.ymax = np.max(dataset.qy_data) 141 dataset.q_data = np.sqrt(dataset.qx_data * dataset.qx_data 142 + dataset.qy_data * dataset.qy_data) 143 if dataset.err_data is not None: 144 dataset.err_data = dataset.err_data.astype(np.float64) 145 if dataset.dqx_data is not None: 146 dataset.dqx_data = dataset.dqx_data.astype(np.float64) 147 if dataset.dqy_data is not None: 148 dataset.dqy_data = dataset.dqy_data.astype(np.float64) 149 if dataset.mask is not None: 150 dataset.mask = dataset.mask.astype(dtype=bool) 151 152 if len(dataset.shape) == 2: 153 n_rows, n_cols = dataset.shape 154 dataset.y_bins = dataset.qy_data[0::int(n_cols)] 155 dataset.x_bins = dataset.qx_data[:int(n_cols)] 156 dataset.data = dataset.data.flatten() 157 else: 158 dataset.y_bins = [] 159 dataset.x_bins = [] 160 dataset.data = dataset.data.flatten() 161 final_list.append(dataset) 134 if isinstance(dataset, Data2D): 135 dataset.data = dataset.data.astype(np.float64) 136 dataset.qx_data = dataset.qx_data.astype(np.float64) 137 dataset.xmin = np.min(dataset.qx_data) 138 dataset.xmax = np.max(dataset.qx_data) 139 dataset.qy_data = dataset.qy_data.astype(np.float64) 140 dataset.ymin = np.min(dataset.qy_data) 141 dataset.ymax = np.max(dataset.qy_data) 142 dataset.q_data = np.sqrt(dataset.qx_data * dataset.qx_data 143 + dataset.qy_data * dataset.qy_data) 144 if dataset.err_data is not None: 145 dataset.err_data = dataset.err_data.astype(np.float64) 146 if dataset.dqx_data is not None: 147 dataset.dqx_data = dataset.dqx_data.astype(np.float64) 148 if dataset.dqy_data is not None: 149 dataset.dqy_data = dataset.dqy_data.astype(np.float64) 150 if dataset.mask is not None: 151 dataset.mask = dataset.mask.astype(dtype=bool) 152 153 if len(dataset.data.shape) == 2: 154 n_rows, n_cols = dataset.data.shape 155 dataset.y_bins = dataset.qy_data[0::int(n_cols)] 156 dataset.x_bins = dataset.qx_data[:int(n_cols)] 157 dataset.data = dataset.data.flatten() 158 else: 159 dataset.y_bins = [] 160 dataset.x_bins = [] 161 dataset.data = dataset.data.flatten() 162 final_list.append(dataset) 162 163 self.output = final_list 163 164
Note: See TracChangeset
for help on using the changeset viewer.