Changeset 94f4518 in sasview for src/sas/sasgui/perspectives/file_converter/converter_panel.py
- Timestamp:
- Jul 21, 2016 9:53:53 AM (8 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.1.1, release-4.1.2, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- a3c538e1
- Parents:
- eb8da5f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/file_converter/converter_panel.py
reb8da5f r94f4518 73 73 self.Layout() 74 74 75 def convert_to_cansas(self, frame_data, filename ):75 def convert_to_cansas(self, frame_data, filename, single_file): 76 76 reader = CansasWriter() 77 77 entry_attrs = None 78 78 if self.run_name is not None: 79 79 entry_attrs = { 'name': self.run_name } 80 reader.write(filename, frame_data, 81 sasentry_attrs=entry_attrs) 80 if single_file: 81 reader.write(filename, frame_data, 82 sasentry_attrs=entry_attrs) 83 else: 84 # strip extension from filename 85 ext = "." + filename.split('.')[-1] 86 name = filename.replace(ext, '') 87 for i in range(len(frame_data)): 88 f_name = "{}{}{}".format(name, i+1, ext) 89 reader.write(f_name, [frame_data[i]], 90 sasentry_attrs=entry_attrs) 82 91 83 92 def extract_data(self, filename): … … 111 120 frames = None 112 121 increment = None 122 single_file = True 113 123 while not valid_input: 114 124 if dlg.ShowModal() == wx.ID_OK: … … 118 128 last_frame = int(dlg.last_input.GetValue()) 119 129 increment = int(dlg.increment_input.GetValue()) 130 single_file = dlg.single_btn.GetValue() 120 131 if last_frame < 0 or first_frame < 0: 121 132 msg = "Frame values must be positive" … … 136 147 StatusEvent(status=msg)) 137 148 else: 138 return [], 0149 return { 'frames': [], 'inc': None, 'file': single_file } 139 150 frames = range(first_frame, last_frame + increment, 140 151 increment) 141 return frames, increment152 return { 'frames': frames, 'inc': increment, 'file': single_file } 142 153 143 154 def on_convert(self, event): … … 159 170 frames = [iqdata.shape[0]] 160 171 increment = 1 172 single_file = True 161 173 if frames[0] > 3: 162 frames, increment = self.ask_frame_range(frames[0]) 174 params = self.ask_frame_range(frames[0]) 175 frames = params['frames'] 176 increment = params['inc'] 177 single_file = params['file'] 163 178 if frames == []: return 164 179 except Exception as ex: … … 191 206 data = Data1D(x=qdata, y=iqdata[i]) 192 207 frame_data.append(data) 193 # Only need to set metadata on first Data1D object 194 frame_data[0].filename = output_path.split('\\')[-1] 195 for key, value in metadata.iteritems(): 196 setattr(frame_data[0], key, value) 197 198 self.convert_to_cansas(frame_data, output_path) 208 if single_file: 209 # Only need to set metadata on first Data1D object 210 frame_data[0].filename = output_path.split('\\')[-1] 211 for key, value in metadata.iteritems(): 212 setattr(frame_data[0], key, value) 213 else: 214 # Need to set metadata for all Data1D objects 215 for datainfo in frame_data: 216 datainfo.filename = output_path.split('\\')[-1] 217 for key, value in metadata.iteritems(): 218 setattr(datainfo, key, value) 219 220 221 self.convert_to_cansas(frame_data, output_path, single_file) 199 222 wx.PostEvent(self.parent.manager.parent, 200 223 StatusEvent(status="Conversion completed."))
Note: See TracChangeset
for help on using the changeset viewer.