def _apply(self): """ Perform auto-scaling """ # Update data sets, in case the user typed in a file name without using the browse button if self._low_q_modified: self._update_low_q() if self._medium_q_modified: self._update_medium_q() if self._high_q_modified: self._update_high_q() s = Stitcher() if self._low_q_data is not None: xmin = util._check_and_get_float_line_edit(self._content.low_min_edit) xmax = util._check_and_get_float_line_edit(self._content.low_max_edit) self._low_q_data.set_range(xmin, xmax) s.append(self._low_q_data) if self._referenceID == 0: scale = util._check_and_get_float_line_edit(self._content.low_scale_edit) self._low_q_data.set_scale(scale) if self._medium_q_data is not None: s.append(self._medium_q_data) if self._referenceID == 1: scale = util._check_and_get_float_line_edit(self._content.medium_scale_edit) self._medium_q_data.set_scale(scale) if self._high_q_data is not None: xmin = util._check_and_get_float_line_edit(self._content.medium_min_edit) xmax = util._check_and_get_float_line_edit(self._content.medium_max_edit) self._high_q_data.set_range(xmin, xmax) s.append(self._high_q_data) if self._referenceID == 2: scale = util._check_and_get_float_line_edit(self._content.high_scale_edit) self._high_q_data.set_scale(scale) if s.size() == 0: return s.set_reference(self._referenceID) s.compute() # Update scaling factor if self._low_q_data is not None: self._content.low_scale_edit.setText(str(self._low_q_data.get_scale())) if self._medium_q_data is not None: self._content.medium_scale_edit.setText(str(self._medium_q_data.get_scale())) if self._high_q_data is not None: self._content.high_scale_edit.setText(str(self._high_q_data.get_scale())) self._stitcher = s self.plot_result()
def _apply(self): """ Perform auto-scaling """ # Update data sets, in case the user typed in a file name without using the browse button if self._low_q_modified: self._update_low_q() if self._medium_q_modified: self._update_medium_q() if self._high_q_modified: self._update_high_q() s = Stitcher() if self._low_q_data is not None: xmin = util._check_and_get_float_line_edit(self._content.low_min_edit) xmax = util._check_and_get_float_line_edit(self._content.low_max_edit) self._low_q_data.set_range(xmin,xmax) s.append(self._low_q_data) if self._referenceID==0: scale = util._check_and_get_float_line_edit(self._content.low_scale_edit) self._low_q_data.set_scale(scale) if self._medium_q_data is not None: s.append(self._medium_q_data) if self._referenceID==1: scale = util._check_and_get_float_line_edit(self._content.medium_scale_edit) self._medium_q_data.set_scale(scale) if self._high_q_data is not None: xmin = util._check_and_get_float_line_edit(self._content.medium_min_edit) xmax = util._check_and_get_float_line_edit(self._content.medium_max_edit) self._high_q_data.set_range(xmin,xmax) s.append(self._high_q_data) if self._referenceID==2: scale = util._check_and_get_float_line_edit(self._content.high_scale_edit) self._high_q_data.set_scale(scale) if s.size()==0: return s.set_reference(self._referenceID) s.compute() # Update scaling factor if self._low_q_data is not None: self._content.low_scale_edit.setText(str(self._low_q_data.get_scale())) if self._medium_q_data is not None: self._content.medium_scale_edit.setText(str(self._medium_q_data.get_scale())) if self._high_q_data is not None: self._content.high_scale_edit.setText(str(self._high_q_data.get_scale())) self._stitcher = s self.plot_result()
def _scale_data_sets(self): """ Perform auto-scaling """ scale_to_unity = self._content.scale_to_one_chk.isChecked() min_q_unity = float(self._content.min_q_unity_edit.text()) max_q_unity = float(self._content.max_q_unity_edit.text()) s = Stitcher() refID = 0 # Get reference cross-section ref_pol = ReflData.OFF_OFF if self._content.off_on_radio.isChecked(): ref_pol = ReflData.OFF_ON elif self._content.on_off_radio.isChecked(): ref_pol = ReflData.ON_OFF elif self._content.on_on_radio.isChecked(): ref_pol = ReflData.ON_ON for i in range(len(self._workspace_list)): item = self._workspace_list[i] data = DataSet(item.name) data.load(True, True) item.set_user_data(data) # Set skipped points for all cross-section xmin, xmax = item.update_skipped() if item.is_selected(): data.set_scale(item.get_scale()) refID = i if scale_to_unity: scale = data.scale_to_unity(max(xmin,min_q_unity), min(xmax,max_q_unity)) data.set_scale(scale) item.set_scale(scale) ref_data = item.get_user_data(ref_pol) if ref_data is None: QtGui.QMessageBox.warning(self, "Invalid choice of reference cross-section", "The selected cross-section is empty, please select another one") return s.append(ref_data) if s.size()==0: Logger("Stitcher").notice("No data to scale") return s.set_reference(refID) s.compute() for item in self._workspace_list: data = item.get_user_data(ref_pol) xmin, xmax = item.get_common_range() data.apply_scale(xmin=xmin, xmax=xmax) scale = data.get_scale() item.set_scale(scale) self._stitcher = s self.plot_result()
def _scale_data_sets(self): """ Perform auto-scaling """ scale_to_unity = self._content.scale_to_one_chk.isChecked() min_q_unity = float(self._content.min_q_unity_edit.text()) max_q_unity = float(self._content.max_q_unity_edit.text()) s = Stitcher() refID = 0 # Get reference cross-section ref_pol = ReflData.OFF_OFF if self._content.off_on_radio.isChecked(): ref_pol = ReflData.OFF_ON elif self._content.on_off_radio.isChecked(): ref_pol = ReflData.ON_OFF elif self._content.on_on_radio.isChecked(): ref_pol = ReflData.ON_ON for i in range(len(self._workspace_list)): item = self._workspace_list[i] data = DataSet(item.name) data.load(True, True) item.set_user_data(data) # Set skipped points for all cross-section xmin, xmax = item.update_skipped() if item.is_selected(): data.set_scale(item.get_scale()) refID = i if scale_to_unity: scale = data.scale_to_unity(max(xmin,min_q_unity), min(xmax,max_q_unity)) data.set_scale(scale) item.set_scale(scale) ref_data = item.get_user_data(ref_pol) if ref_data is None: QtGui.QMessageBox.warning(self,\ "Invalid choice of reference cross-section",\ "The selected cross-section is empty, please select another one") return s.append(ref_data) if s.size()==0: Logger("Stitcher").notice("No data to scale") return s.set_reference(refID) s.compute() for item in self._workspace_list: data = item.get_user_data(ref_pol) xmin, xmax = item.get_common_range() data.apply_scale(xmin=xmin, xmax=xmax) scale = data.get_scale() item.set_scale(scale) self._stitcher = s self.plot_result()