def from_xml_element(self, instrument_dom): """ Read in data from XML @param xml_str: text to read the data from """ # incident medium self.incident_medium_list = BaseScriptElement.getStringList( instrument_dom, "incident_medium_list") self.incident_medium_index_selected = BaseScriptElement.getIntElement( instrument_dom, "incident_medium_index_selected") self.tof_min = BaseScriptElement.getFloatElement( instrument_dom, "tof_min") self.tof_max = BaseScriptElement.getFloatElement( instrument_dom, "tof_max") # run number self.data_file = BaseScriptElement.getIntElement( instrument_dom, "data_file") # number of attenuator self.number_attenuator = BaseScriptElement.getIntElement( instrument_dom, "number_attenuator") # peak selection from and to self.peak_selection = [ BaseScriptElement.getIntElement(instrument_dom, "peak_selection_from_pixel"), BaseScriptElement.getIntElement(instrument_dom, "peak_selection_to_pixel") ] # background flag and selection from and to self.back_selection = [ BaseScriptElement.getIntElement(instrument_dom, "back_selection_from_pixel"), BaseScriptElement.getIntElement(instrument_dom, "back_selection_to_pixel") ] # lambda requested self.lambda_requested = BaseScriptElement.getStringElement( instrument_dom, "lambda_requested") # s1h, s2h, s1w, s2w self.s1h = BaseScriptElement.getStringElement(instrument_dom, "s1h") self.s2h = BaseScriptElement.getStringElement(instrument_dom, "s2h") self.s1w = BaseScriptElement.getStringElement(instrument_dom, "s1w") self.s2w = BaseScriptElement.getStringElement(instrument_dom, "s2w") # scaling factor file self.scaling_factor_file = BaseScriptElement.getStringElement( instrument_dom, "scaling_factor_file")
def from_xml(self, xml_str): """ Read in data from XML @param xml_str: text to read the data from """ self.reset() dom = xml.dom.minidom.parseString(xml_str) element_list = dom.getElementsByTagName("Transmission") if len(element_list) > 0: instrument_dom = element_list[0] self.transmission = BaseScriptElement.getFloatElement( instrument_dom, "trans", default=SampleData.transmission) self.transmission_spread = BaseScriptElement.getFloatElement( instrument_dom, "trans_spread", default=SampleData.transmission_spread) self.calculate_transmission = BaseScriptElement.getBoolElement( instrument_dom, "calculate_trans", default=SampleData.calculate_transmission) self.theta_dependent = BaseScriptElement.getBoolElement( instrument_dom, "theta_dependent", default=SampleData.theta_dependent) self.dark_current = BaseScriptElement.getStringElement( instrument_dom, "dark_current") for m in self.option_list: method = m() if method.find(instrument_dom): method.from_xml(instrument_dom) self.calculation_method = method break # Data file section element_list = dom.getElementsByTagName("SampleData") if len(element_list) > 0: sample_data_dom = element_list[0] self.data_files = BaseScriptElement.getStringList( sample_data_dom, "data_file") self.sample_thickness = BaseScriptElement.getFloatElement( sample_data_dom, "sample_thickness", default=SampleData.sample_thickness) self.separate_jobs = BaseScriptElement.getBoolElement( sample_data_dom, "separate_jobs", default=SampleData.separate_jobs)
def from_xml(self, xml_str): """ Read in data from XML @param xml_str: text to read the data from """ self.reset() dom = xml.dom.minidom.parseString(xml_str) # Get Mantid version mtd_version = BaseScriptElement.getMantidBuildVersion(dom) element_list = dom.getElementsByTagName("Transmission") if len(element_list)>0: instrument_dom = element_list[0] self.transmission = BaseScriptElement.getFloatElement(instrument_dom, "trans", default=SampleData.transmission) self.transmission_spread = BaseScriptElement.getFloatElement(instrument_dom, "trans_spread", default=SampleData.transmission_spread) self.calculate_transmission = BaseScriptElement.getBoolElement(instrument_dom, "calculate_trans", default = SampleData.calculate_transmission) self.theta_dependent = BaseScriptElement.getBoolElement(instrument_dom, "theta_dependent", default = SampleData.theta_dependent) self.dark_current = BaseScriptElement.getStringElement(instrument_dom, "dark_current") for m in self.option_list: method = m() if method.find(instrument_dom): method.from_xml(instrument_dom) self.calculation_method = method break # Data file section - take care of backward compatibility if mtd_version!=0 and mtd_version<BaseScriptElement.UPDATE_1_CHANGESET_CUTOFF: element_list = dom.getElementsByTagName("Instrument") else: element_list = dom.getElementsByTagName("SampleData") if len(element_list)>0: sample_data_dom = element_list[0] self.data_files = BaseScriptElement.getStringList(sample_data_dom, "data_file") self.sample_thickness = BaseScriptElement.getFloatElement(sample_data_dom, "sample_thickness", default=SampleData.sample_thickness)
def from_xml(self, xml_str): """ Read in data from XML @param xml_str: text to read the data from """ self.reset() dom = xml.dom.minidom.parseString(xml_str) element_list = dom.getElementsByTagName("Transmission") if len(element_list)>0: instrument_dom = element_list[0] self.transmission = BaseScriptElement.getFloatElement(instrument_dom, "trans", default=SampleData.transmission) self.transmission_spread = BaseScriptElement.getFloatElement(instrument_dom, "trans_spread", default=SampleData.transmission_spread) self.calculate_transmission = BaseScriptElement.getBoolElement(instrument_dom, "calculate_trans", default = SampleData.calculate_transmission) self.theta_dependent = BaseScriptElement.getBoolElement(instrument_dom, "theta_dependent", default = SampleData.theta_dependent) self.dark_current = BaseScriptElement.getStringElement(instrument_dom, "dark_current") for m in self.option_list: method = m() if method.find(instrument_dom): method.from_xml(instrument_dom) self.calculation_method = method break # Data file section element_list = dom.getElementsByTagName("SampleData") if len(element_list)>0: sample_data_dom = element_list[0] self.data_files = BaseScriptElement.getStringList(sample_data_dom, "data_file") self.sample_thickness = BaseScriptElement.getFloatElement(sample_data_dom, "sample_thickness", default=SampleData.sample_thickness) self.separate_jobs = BaseScriptElement.getBoolElement(sample_data_dom, "separate_jobs", default = SampleData.separate_jobs)
def from_xml_element(self, instrument_dom): """ Read in data from XML @param xml_str: text to read the data from """ #incident medium self.incident_medium_list = BaseScriptElement.getStringList(instrument_dom, "incident_medium_list") self.incident_medium_index_selected = BaseScriptElement.getIntElement(instrument_dom, "incident_medium_index_selected") self.tof_min = BaseScriptElement.getFloatElement(instrument_dom, "tof_min") self.tof_max = BaseScriptElement.getFloatElement(instrument_dom, "tof_max") #run number self.data_file = BaseScriptElement.getIntElement(instrument_dom, "data_file") #number of attenuator self.number_attenuator = BaseScriptElement.getIntElement(instrument_dom, "number_attenuator") #peak selection from and to self.peak_selection = [BaseScriptElement.getIntElement(instrument_dom, "peak_selection_from_pixel"), BaseScriptElement.getIntElement(instrument_dom, "peak_selection_to_pixel")] #background flag and selection from and to self.back_selection = [BaseScriptElement.getIntElement(instrument_dom, "back_selection_from_pixel"), BaseScriptElement.getIntElement(instrument_dom, "back_selection_to_pixel")] #lambda requested self.lambda_requested = BaseScriptElement.getStringElement(instrument_dom, "lambda_requested") #s1h, s2h, s1w, s2w self.s1h = BaseScriptElement.getStringElement(instrument_dom, "s1h") self.s2h = BaseScriptElement.getStringElement(instrument_dom, "s2h") self.s1w = BaseScriptElement.getStringElement(instrument_dom, "s1w") self.s2w = BaseScriptElement.getStringElement(instrument_dom, "s2w") #scaling factor file self.scaling_factor_file = BaseScriptElement.getStringElement(instrument_dom, "scaling_factor_file")
def from_xml_element(self, instrument_dom): """ Read in data from XML @param xml_str: text to read the data from """ #Peak selection self.DataPeakSelectionType = BaseScriptElement.getStringElement(instrument_dom, "peak_selection_type") #Peak from/to pixels self.DataPeakPixels = [BaseScriptElement.getIntElement(instrument_dom, "from_peak_pixels"), BaseScriptElement.getIntElement(instrument_dom, "to_peak_pixels")] #data metadata _tthd_value = BaseScriptElement.getStringElement(instrument_dom, "tthd_value") if (_tthd_value == ''): _tthd_value = 'N/A' self.tthd_value = _tthd_value _ths_value = BaseScriptElement.getStringElement(instrument_dom, "ths_value") if (_ths_value == ''): _ths_value = 'N/A' self.ths_value = _ths_value #low resolution range self.data_x_range_flag = BaseScriptElement.getBoolElement(instrument_dom, "x_range_flag", default=DataSets.data_x_range_flag) self.data_x_range = [BaseScriptElement.getIntElement(instrument_dom, "x_min_pixel"), BaseScriptElement.getIntElement(instrument_dom, "x_max_pixel")] self.norm_x_range_flag = BaseScriptElement.getBoolElement(instrument_dom, "norm_x_range_flag", default=DataSets.norm_x_range_flag) self.norm_x_range = [BaseScriptElement.getIntElement(instrument_dom, "norm_x_min"), BaseScriptElement.getIntElement(instrument_dom, "norm_x_max")] #discrete selection string self.DataPeakDiscreteSelection = BaseScriptElement.getStringElement(instrument_dom, "peak_discrete_selection") #background flag self.DataBackgroundFlag = BaseScriptElement.getBoolElement(instrument_dom, "background_flag", default=DataSets.DataBackgroundFlag) #background from/to pixels self.DataBackgroundRoi = [BaseScriptElement.getIntElement(instrument_dom, "back_roi1_from"), BaseScriptElement.getIntElement(instrument_dom, "back_roi1_to"), BaseScriptElement.getIntElement(instrument_dom, "back_roi2_from"), BaseScriptElement.getIntElement(instrument_dom, "back_roi2_to")] #from TOF and to TOF self.TofRangeFlag = BaseScriptElement.getBoolElement(instrument_dom, "tof_range_flag", default=DataSets.TofRangeFlag) self.DataTofRange = [BaseScriptElement.getFloatElement(instrument_dom, "from_tof_range"), BaseScriptElement.getFloatElement(instrument_dom, "to_tof_range")] self.data_files = BaseScriptElement.getIntList(instrument_dom, "data_sets") #with or without norm self.NormFlag = BaseScriptElement.getBoolElement(instrument_dom, "norm_flag", default=DataSets.NormFlag) #Peak from/to pixels self.NormPeakPixels = [BaseScriptElement.getIntElement(instrument_dom, "norm_from_peak_pixels"), BaseScriptElement.getIntElement(instrument_dom, "norm_to_peak_pixels")] #background flag self.NormBackgroundFlag = BaseScriptElement.getBoolElement(instrument_dom, "norm_background_flag", default=DataSets.NormBackgroundFlag) #background from/to pixels self.NormBackgroundRoi = [BaseScriptElement.getIntElement(instrument_dom, "norm_from_back_pixels"), BaseScriptElement.getIntElement(instrument_dom, "norm_to_back_pixels")] self.norm_file = BaseScriptElement.getIntElement(instrument_dom, "norm_dataset") # Q cut self.q_min = BaseScriptElement.getFloatElement(instrument_dom, "q_min", default=DataSets.q_min) self.q_step = BaseScriptElement.getFloatElement(instrument_dom, "q_step", default=DataSets.q_step) self.auto_q_binning = BaseScriptElement.getBoolElement(instrument_dom, "auto_q_binning", default=False) # Angle offset self.angle_offset = BaseScriptElement.getFloatElement(instrument_dom, "angle_offset", default=DataSets.angle_offset) self.angle_offset_error = BaseScriptElement.getFloatElement(instrument_dom, "angle_offset_error", default=DataSets.angle_offset_error) #scaling factor file and options self.scaling_factor_file = BaseScriptElement.getStringElement(instrument_dom, "scaling_factor_file") self.slits_width_flag = BaseScriptElement.getBoolElement(instrument_dom, "slits_width_flag") self.scaling_factor_file_flag = BaseScriptElement.getBoolElement(instrument_dom, "scaling_factor_flag") #incident medium selected if BaseScriptElement.getStringList(instrument_dom, "incident_medium_list") != []: self.incident_medium_list = BaseScriptElement.getStringList(instrument_dom, "incident_medium_list") self.incident_medium_index_selected = BaseScriptElement.getIntElement(instrument_dom, "incident_medium_index_selected") else: self.incident_medium_list = ['H2O'] self.incident_medium_index_selected = 0 #fourth column (precision) self.fourth_column_flag = BaseScriptElement.getBoolElement(instrument_dom, "fourth_column_flag") self.fourth_column_dq0 = BaseScriptElement.getFloatElement(instrument_dom, "fourth_column_dq0") self.fourth_column_dq_over_q = BaseScriptElement.getFloatElement(instrument_dom, "fourth_column_dq_over_q")
def get_strlst(tag): return BaseScriptElement.getStringList(dom, tag)
def get_strlst(tag): return BaseScriptElement.getStringList(dom, tag)
def from_xml_element(self, instrument_dom): """ Read in data from XML @param xml_str: text to read the data from """ #Peak selection self.DataPeakSelectionType = BaseScriptElement.getStringElement( instrument_dom, "peak_selection_type") #Peak from/to pixels self.DataPeakPixels = [ BaseScriptElement.getIntElement(instrument_dom, "from_peak_pixels"), BaseScriptElement.getIntElement(instrument_dom, "to_peak_pixels") ] #data metadata _tthd_value = BaseScriptElement.getStringElement( instrument_dom, "tthd_value") if _tthd_value == '': _tthd_value = 'N/A' self.tthd_value = _tthd_value _ths_value = BaseScriptElement.getStringElement( instrument_dom, "ths_value") if _ths_value == '': _ths_value = 'N/A' self.ths_value = _ths_value #low resolution range self.data_x_range_flag = BaseScriptElement.getBoolElement( instrument_dom, "x_range_flag", default=DataSets.data_x_range_flag) self.data_x_range = [ BaseScriptElement.getIntElement(instrument_dom, "x_min_pixel"), BaseScriptElement.getIntElement(instrument_dom, "x_max_pixel") ] self.norm_x_range_flag = BaseScriptElement.getBoolElement( instrument_dom, "norm_x_range_flag", default=DataSets.norm_x_range_flag) self.norm_x_range = [ BaseScriptElement.getIntElement(instrument_dom, "norm_x_min"), BaseScriptElement.getIntElement(instrument_dom, "norm_x_max") ] #discrete selection string self.DataPeakDiscreteSelection = BaseScriptElement.getStringElement( instrument_dom, "peak_discrete_selection") #background flag self.DataBackgroundFlag = BaseScriptElement.getBoolElement( instrument_dom, "background_flag", default=DataSets.DataBackgroundFlag) #background from/to pixels self.DataBackgroundRoi = [ BaseScriptElement.getIntElement(instrument_dom, "back_roi1_from"), BaseScriptElement.getIntElement(instrument_dom, "back_roi1_to"), BaseScriptElement.getIntElement(instrument_dom, "back_roi2_from"), BaseScriptElement.getIntElement(instrument_dom, "back_roi2_to") ] #from TOF and to TOF self.TofRangeFlag = BaseScriptElement.getBoolElement( instrument_dom, "tof_range_flag", default=DataSets.TofRangeFlag) self.DataTofRange = [ BaseScriptElement.getFloatElement(instrument_dom, "from_tof_range"), BaseScriptElement.getFloatElement(instrument_dom, "to_tof_range") ] self.data_files = BaseScriptElement.getIntList(instrument_dom, "data_sets") #with or without norm self.NormFlag = BaseScriptElement.getBoolElement( instrument_dom, "norm_flag", default=DataSets.NormFlag) #Peak from/to pixels self.NormPeakPixels = [ BaseScriptElement.getIntElement(instrument_dom, "norm_from_peak_pixels"), BaseScriptElement.getIntElement(instrument_dom, "norm_to_peak_pixels") ] #background flag self.NormBackgroundFlag = BaseScriptElement.getBoolElement( instrument_dom, "norm_background_flag", default=DataSets.NormBackgroundFlag) #background from/to pixels self.NormBackgroundRoi = [ BaseScriptElement.getIntElement(instrument_dom, "norm_from_back_pixels"), BaseScriptElement.getIntElement(instrument_dom, "norm_to_back_pixels") ] self.norm_file = BaseScriptElement.getIntElement( instrument_dom, "norm_dataset") # Q cut self.q_min = BaseScriptElement.getFloatElement(instrument_dom, "q_min", default=DataSets.q_min) self.q_step = BaseScriptElement.getFloatElement( instrument_dom, "q_step", default=DataSets.q_step) self.auto_q_binning = BaseScriptElement.getBoolElement( instrument_dom, "auto_q_binning", default=False) # overlap_lowest_error self.overlap_lowest_error = BaseScriptElement.getBoolElement( instrument_dom, "overlap_lowest_error", default=True) self.overlap_mean_value = BaseScriptElement.getBoolElement( instrument_dom, "overlap_mean_value", default=False) # Angle offset self.angle_offset = BaseScriptElement.getFloatElement( instrument_dom, "angle_offset", default=DataSets.angle_offset) self.angle_offset_error = BaseScriptElement.getFloatElement( instrument_dom, "angle_offset_error", default=DataSets.angle_offset_error) #scaling factor file and options self.scaling_factor_file = BaseScriptElement.getStringElement( instrument_dom, "scaling_factor_file") self.slits_width_flag = BaseScriptElement.getBoolElement( instrument_dom, "slits_width_flag") self.scaling_factor_file_flag = BaseScriptElement.getBoolElement( instrument_dom, "scaling_factor_flag") # geometry correction switch self.geometry_correction_switch = BaseScriptElement.getBoolElement( instrument_dom, "geometry_correction_switch") #incident medium selected if BaseScriptElement.getStringList(instrument_dom, "incident_medium_list") != []: self.incident_medium_list = BaseScriptElement.getStringList( instrument_dom, "incident_medium_list") self.incident_medium_index_selected = BaseScriptElement.getIntElement( instrument_dom, "incident_medium_index_selected") else: self.incident_medium_list = ['H2O'] self.incident_medium_index_selected = 0 #fourth column (precision) self.fourth_column_flag = BaseScriptElement.getBoolElement( instrument_dom, "fourth_column_flag") self.fourth_column_dq0 = BaseScriptElement.getFloatElement( instrument_dom, "fourth_column_dq0") self.fourth_column_dq_over_q = BaseScriptElement.getFloatElement( instrument_dom, "fourth_column_dq_over_q") # Primary fraction self.clocking_from = BaseScriptElement.getIntElement(instrument_dom, "clocking_from", default=None) self.clocking_to = BaseScriptElement.getIntElement(instrument_dom, "clocking_to", default=None)
def from_xml_element(self, instrument_dom): """ Read in data from XML @param xml_str: text to read the data from """ # Peak from/to pixels self.DataPeakPixels = [ BaseScriptElement.getIntElement(instrument_dom, "from_peak_pixels"), BaseScriptElement.getIntElement(instrument_dom, "to_peak_pixels"), ] # low resolution range self.data_x_range_flag = BaseScriptElement.getBoolElement( instrument_dom, "x_range_flag", default=DataSets.data_x_range_flag ) self.data_x_range = [ BaseScriptElement.getIntElement(instrument_dom, "x_min_pixel"), BaseScriptElement.getIntElement(instrument_dom, "x_max_pixel"), ] self.norm_x_range_flag = BaseScriptElement.getBoolElement( instrument_dom, "norm_x_range_flag", default=DataSets.norm_x_range_flag ) self.norm_x_range = [ BaseScriptElement.getIntElement(instrument_dom, "norm_x_min"), BaseScriptElement.getIntElement(instrument_dom, "norm_x_max"), ] # discrete selection string self.DataPeakDiscreteSelection = BaseScriptElement.getStringElement(instrument_dom, "peak_discrete_selection") # background flag self.DataBackgroundFlag = BaseScriptElement.getBoolElement( instrument_dom, "background_flag", default=DataSets.DataBackgroundFlag ) # background from/to pixels self.DataBackgroundRoi = [ BaseScriptElement.getIntElement(instrument_dom, "back_roi1_from"), BaseScriptElement.getIntElement(instrument_dom, "back_roi1_to"), BaseScriptElement.getIntElement(instrument_dom, "back_roi2_from"), BaseScriptElement.getIntElement(instrument_dom, "back_roi2_to"), ] # from TOF and to TOF # self.crop_TOF_range = BaseScriptElement.getBoolElement(instrument_dom, "crop_tof", # default=DataSets.crop_TOF_range) self.DataTofRange = [ BaseScriptElement.getFloatElement(instrument_dom, "from_tof_range"), BaseScriptElement.getFloatElement(instrument_dom, "to_tof_range"), ] self.TOFstep = BaseScriptElement.getFloatElement(instrument_dom, "tof_step", default=DataSets.TOFstep) self.data_files = BaseScriptElement.getStringList(instrument_dom, "data_sets") # with or without norm self.NormFlag = BaseScriptElement.getBoolElement(instrument_dom, "norm_flag", default=DataSets.NormFlag) # Peak from/to pixels self.NormPeakPixels = [ BaseScriptElement.getIntElement(instrument_dom, "norm_from_peak_pixels"), BaseScriptElement.getIntElement(instrument_dom, "norm_to_peak_pixels"), ] # background flag self.NormBackgroundFlag = BaseScriptElement.getBoolElement( instrument_dom, "norm_background_flag", default=DataSets.NormBackgroundFlag ) # background from/to pixels self.NormBackgroundRoi = [ BaseScriptElement.getIntElement(instrument_dom, "norm_from_back_pixels"), BaseScriptElement.getIntElement(instrument_dom, "norm_to_back_pixels"), ] self.norm_file = BaseScriptElement.getStringElement(instrument_dom, "norm_dataset") # Q cut self.q_min = BaseScriptElement.getFloatElement(instrument_dom, "q_min", default=DataSets.q_min) self.q_step = BaseScriptElement.getFloatElement(instrument_dom, "q_step", default=DataSets.q_step) self.q_bins = BaseScriptElement.getIntElement(instrument_dom, "q_bins", default=DataSets.q_bins) self.q_log = BaseScriptElement.getBoolElement(instrument_dom, "q_log", default=DataSets.q_log) # scattering angle self.theta = BaseScriptElement.getFloatElement(instrument_dom, "theta", default=DataSets.theta) # self.use_center_pixel = BaseScriptElement.getBoolElement(instrument_dom, # "use_center_pixel", # default=DataSets.use_center_pixel) # Sample log overwrites self.set_detector_angle = BaseScriptElement.getBoolElement( instrument_dom, "set_detector_angle", default=DataSets.set_detector_angle ) self.detector_angle = BaseScriptElement.getFloatElement( instrument_dom, "detector_angle", default=DataSets.detector_angle ) self.set_detector_angle_offset = BaseScriptElement.getBoolElement( instrument_dom, "set_detector_angle_offset", default=DataSets.set_detector_angle_offset ) self.detector_angle_offset = BaseScriptElement.getFloatElement( instrument_dom, "detector_angle_offset", default=DataSets.detector_angle_offset ) self.set_direct_pixel = BaseScriptElement.getBoolElement( instrument_dom, "set_direct_pixel", default=DataSets.set_direct_pixel ) self.direct_pixel = BaseScriptElement.getFloatElement( instrument_dom, "direct_pixel", default=DataSets.direct_pixel ) self.output_dir = BaseScriptElement.getStringElement(instrument_dom, "output_dir", default=DataSets.output_dir)
def from_xml_element(self, instrument_dom): """ Read in data from XML @param xml_str: text to read the data from """ # Peak from/to pixels self.DataPeakPixels = [BaseScriptElement.getIntElement(instrument_dom, "from_peak_pixels"), BaseScriptElement.getIntElement(instrument_dom, "to_peak_pixels")] # low resolution range self.data_x_range_flag = BaseScriptElement.getBoolElement(instrument_dom, "x_range_flag", default=DataSets.data_x_range_flag) self.data_x_range = [BaseScriptElement.getIntElement(instrument_dom, "x_min_pixel"), BaseScriptElement.getIntElement(instrument_dom, "x_max_pixel")] self.norm_x_range_flag = BaseScriptElement.getBoolElement(instrument_dom, "norm_x_range_flag", default=DataSets.norm_x_range_flag) self.norm_x_range = [BaseScriptElement.getIntElement(instrument_dom, "norm_x_min"), BaseScriptElement.getIntElement(instrument_dom, "norm_x_max")] # discrete selection string self.DataPeakDiscreteSelection = BaseScriptElement.getStringElement(instrument_dom, "peak_discrete_selection") # background flag self.DataBackgroundFlag = BaseScriptElement.getBoolElement(instrument_dom, "background_flag", default=DataSets.DataBackgroundFlag) # background from/to pixels self.DataBackgroundRoi = [BaseScriptElement.getIntElement(instrument_dom, "back_roi1_from"), BaseScriptElement.getIntElement(instrument_dom, "back_roi1_to"), BaseScriptElement.getIntElement(instrument_dom, "back_roi2_from"), BaseScriptElement.getIntElement(instrument_dom, "back_roi2_to")] # from TOF and to TOF # self.crop_TOF_range = BaseScriptElement.getBoolElement(instrument_dom, "crop_tof", # default=DataSets.crop_TOF_range) self.DataTofRange = [BaseScriptElement.getFloatElement(instrument_dom, "from_tof_range"), BaseScriptElement.getFloatElement(instrument_dom, "to_tof_range")] self.TOFstep = BaseScriptElement.getFloatElement(instrument_dom, "tof_step", default=DataSets.TOFstep) self.data_files = BaseScriptElement.getStringList(instrument_dom, "data_sets") # with or without norm self.NormFlag = BaseScriptElement.getBoolElement(instrument_dom, "norm_flag", default=DataSets.NormFlag) # Peak from/to pixels self.NormPeakPixels = [BaseScriptElement.getIntElement(instrument_dom, "norm_from_peak_pixels"), BaseScriptElement.getIntElement(instrument_dom, "norm_to_peak_pixels")] # background flag self.NormBackgroundFlag = BaseScriptElement.getBoolElement(instrument_dom, "norm_background_flag", default=DataSets.NormBackgroundFlag) # background from/to pixels self.NormBackgroundRoi = [BaseScriptElement.getIntElement(instrument_dom, "norm_from_back_pixels"), BaseScriptElement.getIntElement(instrument_dom, "norm_to_back_pixels")] self.norm_file = BaseScriptElement.getStringElement(instrument_dom, "norm_dataset") # Q cut self.q_min = BaseScriptElement.getFloatElement(instrument_dom, "q_min", default=DataSets.q_min) self.q_step = BaseScriptElement.getFloatElement(instrument_dom, "q_step", default=DataSets.q_step) self.q_bins = BaseScriptElement.getIntElement(instrument_dom, "q_bins", default=DataSets.q_bins) self.q_log = BaseScriptElement.getBoolElement(instrument_dom, "q_log", default=DataSets.q_log) # scattering angle self.theta = BaseScriptElement.getFloatElement(instrument_dom, "theta", default=DataSets.theta) # self.use_center_pixel = BaseScriptElement.getBoolElement(instrument_dom, # "use_center_pixel", # default=DataSets.use_center_pixel) # Sample log overwrites self.set_detector_angle = BaseScriptElement.getBoolElement(instrument_dom, "set_detector_angle", default=DataSets.set_detector_angle) self.detector_angle = BaseScriptElement.getFloatElement(instrument_dom, "detector_angle", default=DataSets.detector_angle) self.set_detector_angle_offset = BaseScriptElement.getBoolElement(instrument_dom, "set_detector_angle_offset", default=DataSets.set_detector_angle_offset) self.detector_angle_offset = BaseScriptElement.getFloatElement(instrument_dom, "detector_angle_offset", default=DataSets.detector_angle_offset) self.set_direct_pixel = BaseScriptElement.getBoolElement(instrument_dom, "set_direct_pixel", default=DataSets.set_direct_pixel) self.direct_pixel = BaseScriptElement.getFloatElement(instrument_dom, "direct_pixel", default=DataSets.direct_pixel) self.output_dir = BaseScriptElement.getStringElement(instrument_dom, "output_dir", default=DataSets.output_dir)