def __init__(self, parent=None, state=None, settings=None, data_type=None, data_proxy=None): super(DirectBeam, self).__init__(parent, state, settings, data_type, data_proxy=data_proxy) class DirectBeamFrame(QtGui.QGroupBox, ui.sans.ui_trans_direct_beam.Ui_GroupBox): def __init__(self, parent=None): QtGui.QGroupBox.__init__(self, parent) self.setupUi(self) self._content = DirectBeamFrame(self) self._layout.addWidget(self._content) self.initialize_content() if state is not None: self.set_state(state) else: self.set_state(SampleData.DirectBeam())
def __init__(self, parent=None, state=None, settings=None, data_type=None, data_proxy=None): super(DirectBeam, self).__init__(parent, state, settings, data_type, data_proxy=data_proxy) class DirectBeamFrame(QGroupBox): def __init__(self, parent=None): QGroupBox.__init__(self, parent) self.ui = load_ui(__file__, '../../../ui/sans/trans_direct_beam.ui', baseinstance=self) self._content = DirectBeamFrame(self) self._layout.addWidget(self._content) self.initialize_content() if state is not None: self.set_state(state) else: self.set_state(SampleData.DirectBeam())
def get_state(self): """ Returns an object with the state of the interface """ m = SampleData.DirectBeam() m.beam_radius = util._check_and_get_float_line_edit(self._content.beam_radius_edit) m.sample_file = unicode(self._content.sample_edit.text()) m.direct_beam = unicode(self._content.direct_edit.text()) self._settings.emit_key_value("TRANS_SAMPLE", str(self._content.sample_edit.text())) self._settings.emit_key_value("TRANS_DIRECT", str(self._content.direct_edit.text())) return m
class SampleData(BaseSampleData): calculation_method = BaseSampleData.DirectBeam() # Option list option_list = [BaseSampleData.DirectBeam] # Option to fit the two frame separately when in frame-skipping mode combine_transmission_frames = False calculate_transmission = True def __init__(self): super(SampleData, self).__init__() self.reset() def reset(self): """ Reset state """ super(SampleData, self).reset() self.calculation_method.reset() self.combine_transmission_frames = SampleData.combine_transmission_frames self.calculate_transmission = SampleData.calculate_transmission def to_script(self, data_file=None): """ Generate reduction script @param execute: if true, the script will be executed """ script = super(SampleData, self).to_script(data_file) if self.calculate_transmission: script += "CombineTransmissionFits(%s)\n" % self.combine_transmission_frames return script def to_xml(self): """ Create XML from the current data. """ xml_str = super(SampleData, self).to_xml() return BaseScriptElement.addElementToSection(xml_str, "Transmission", "combine_transmission_frames", str(self.combine_transmission_frames)) def from_xml(self, xml_str): """ Read in data from XML @param xml_str: text to read the data from """ self.reset() super(SampleData, self).from_xml(xml_str) dom = xml.dom.minidom.parseString(xml_str) element_list = dom.getElementsByTagName("Transmission") if len(element_list)>0: instrument_dom = element_list[0] self.combine_transmission_frames = BaseScriptElement.getBoolElement(instrument_dom, "combine_transmission_frames", default = SampleData.combine_transmission_frames) def from_setup_info(self, xml_str): """ Read in data from XML using the string representation of the setup algorithm used to prepare the reduction properties. @param xml_str: text to read the data from """ self.reset() super(SampleData, self).from_setup_info(xml_str) (alg, _) = BaseScriptElement.getAlgorithmFromXML(xml_str) self.combine_transmission_frames = BaseScriptElement.getPropertyValue(alg, "FitFramesTogether", default=SampleData.combine_transmission_frames)