Exemplo n.º 1
0
    def get_state(self):
        """
            Returns an object with the state of the interface
        """

        m = ReductionOptions()

        m.instrument_name = self._summary.instr_name_label.text()

        # Absolute scaling
        m.scaling_factor = util._check_and_get_float_line_edit(self._summary.scale_edit)
        m.calculate_scale = self._summary.scale_chk.isChecked()
        m.scaling_direct_file = unicode(self._summary.scale_data_edit.text())
        m.scaling_att_trans = util._check_and_get_float_line_edit(self._summary.scale_att_trans_edit)
        m.scaling_beam_diam = util._check_and_get_float_line_edit(self._summary.scale_beam_radius_edit, min=0.0)
        m.manual_beam_diam = self._summary.beamstop_chk.isChecked()

#         ## If total detector distance is checked, ignore the other 3 distances:
#         if self._summary.total_detector_distance_chk.isChecked():
#             m.sample_total_distance = util._check_and_get_float_line_edit(self._summary.total_detector_distance_edit)
#         else:
#             # Detector offset input
#             if self._summary.detector_offset_chk.isChecked():
#                 m.detector_offset = util._check_and_get_float_line_edit(self._summary.detector_offset_edit)
#             # Sample-detector distance
#             if self._summary.sample_dist_chk.isChecked():
#                 m.sample_detector_distance = util._check_and_get_float_line_edit(self._summary.sample_dist_edit)
#             # Sample-Si-window
#             if self._summary.sample_si_dist_chk.isChecked():
#                 m.sample_si_window_distance = util._check_and_get_float_line_edit(self._summary.sample_si_dist_edit)

        # Workaround:
        # Offset is not used
        # The detector_distanc will be used as sample_total_distance
        m.sample_detector_distance = util._check_and_get_float_line_edit(self._summary.total_detector_distance_edit)
        m.detector_offset = 0

        # Wavelength value
        wavelength = util._check_and_get_float_line_edit(self._summary.wavelength_edit, min=0.0)
        if self._summary.wavelength_chk.isChecked():
            m.wavelength = wavelength
            m.wavelength_spread = util._check_and_get_float_line_edit(self._summary.wavelength_spread_edit)

        # Solid angle correction
        m.solid_angle_corr = self._summary.solid_angle_chk.isChecked()

        # Dark current
        m.dark_current_corr = self._summary.dark_current_check.isChecked()
        m.dark_current_data = unicode(self._summary.dark_file_edit.text())

        # Normalization
        if self._summary.normalization_none_radio.isChecked():
            m.normalization = m.NORMALIZATION_NONE
        elif self._summary.normalization_time_radio.isChecked():
            m.normalization = m.NORMALIZATION_TIME
        elif self._summary.normalization_monitor_radio.isChecked():
            m.normalization = m.NORMALIZATION_MONITOR

        # Q range
        m.n_q_bins = util._check_and_get_int_line_edit(self._summary.n_q_bins_edit)
        m.n_sub_pix = util._check_and_get_int_line_edit(self._summary.n_sub_pix_edit)
        m.log_binning = self._summary.log_binning_radio.isChecked()
        m.align_log_with_decades = self._summary.align_check.isChecked()
        m.error_weighting = self._summary.error_weighting_check.isChecked()

        m.n_wedges = util._check_and_get_int_line_edit(self._summary.n_wedges_edit)
        m.wedge_angle = util._check_and_get_float_line_edit(self._summary.wedge_angle_edit)
        m.wedge_offset = util._check_and_get_float_line_edit(self._summary.wedge_offset_edit)

        # Detector side masking
        if self._summary.mask_side_front_radio.isChecked():
            m.masked_side = 'Front'
        elif self._summary.mask_side_back_radio.isChecked():
            m.masked_side = 'Back'
        else:
            m.masked_side = None

        # Mask detector IDs
        m.use_mask_file = self._summary.mask_check.isChecked()
        m.mask_file = unicode(self._summary.mask_edit.text())
        m.detector_ids = self._masked_detectors
        if self._in_mantidplot:
            from mantid.api import AnalysisDataService
            import mantid.simpleapi as api
            if AnalysisDataService.doesExist(self.mask_ws):
                _, masked_detectors = api.ExtractMask(InputWorkspace=self.mask_ws, OutputWorkspace="__edited_mask")
                m.detector_ids = [int(i) for i in masked_detectors]

        self._settings.emit_key_value("DARK_CURRENT", str(self._summary.dark_file_edit.text()))
        return m
Exemplo n.º 2
0
    def get_state(self):
        """
            Returns an object with the state of the interface
        """
        m = ReductionOptions()

        m.instrument_name = self._summary.instr_name_label.text()

        # Absolute scaling
        m.scaling_factor = util._check_and_get_float_line_edit(
            self._summary.scale_edit)
        m.calculate_scale = self._summary.scale_chk.isChecked()
        m.scaling_direct_file = unicode(self._summary.scale_data_edit.text())
        m.scaling_att_trans = util._check_and_get_float_line_edit(
            self._summary.scale_att_trans_edit)
        m.scaling_beam_diam = util._check_and_get_float_line_edit(
            self._summary.scale_beam_radius_edit, min=0.0)
        m.manual_beam_diam = self._summary.beamstop_chk.isChecked()

        # Detector offset input
        if self._summary.detector_offset_chk.isChecked():
            m.detector_offset = util._check_and_get_float_line_edit(
                self._summary.detector_offset_edit)

        # Sample-detector distance
        if self._summary.sample_dist_chk.isChecked():
            m.sample_detector_distance = util._check_and_get_float_line_edit(
                self._summary.sample_dist_edit)

        # Wavelength value
        wavelength = util._check_and_get_float_line_edit(
            self._summary.wavelength_edit, min=0.0)
        if self._summary.wavelength_chk.isChecked():
            m.wavelength = wavelength
            m.wavelength_spread = util._check_and_get_float_line_edit(
                self._summary.wavelength_spread_edit)

        # Solid angle correction
        m.solid_angle_corr = self._summary.solid_angle_chk.isChecked()

        # Dark current
        m.dark_current_corr = self._summary.dark_current_check.isChecked()
        m.dark_current_data = unicode(self._summary.dark_file_edit.text())

        # Normalization
        if self._summary.normalization_none_radio.isChecked():
            m.normalization = m.NORMALIZATION_NONE
        elif self._summary.normalization_time_radio.isChecked():
            m.normalization = m.NORMALIZATION_TIME
        elif self._summary.normalization_monitor_radio.isChecked():
            m.normalization = m.NORMALIZATION_MONITOR

        # Q range
        m.n_q_bins = util._check_and_get_int_line_edit(
            self._summary.n_q_bins_edit)
        m.n_sub_pix = util._check_and_get_int_line_edit(
            self._summary.n_sub_pix_edit)
        m.log_binning = self._summary.log_binning_radio.isChecked()
        m.align_log_with_decades = self._summary.align_check.isChecked()

        m.n_wedges = util._check_and_get_int_line_edit(
            self._summary.n_wedges_edit)
        m.wedge_angle = util._check_and_get_float_line_edit(
            self._summary.wedge_angle_edit)
        m.wedge_offset = util._check_and_get_float_line_edit(
            self._summary.wedge_offset_edit)

        # Detector side masking
        if self._summary.mask_side_front_radio.isChecked():
            m.masked_side = 'Front'
        elif self._summary.mask_side_back_radio.isChecked():
            m.masked_side = 'Back'
        else:
            m.masked_side = None

        # Mask detector IDs
        m.use_mask_file = self._summary.mask_check.isChecked()
        m.mask_file = unicode(self._summary.mask_edit.text())
        m.detector_ids = self._masked_detectors
        if self._in_mantidplot:
            from mantid.api import AnalysisDataService
            import mantid.simpleapi as api
            if AnalysisDataService.doesExist(self.mask_ws):
                ws, masked_detectors = api.ExtractMask(
                    InputWorkspace=self.mask_ws,
                    OutputWorkspace="__edited_mask")
                m.detector_ids = [int(i) for i in masked_detectors]

        self._settings.emit_key_value("DARK_CURRENT",
                                      str(self._summary.dark_file_edit.text()))
        return m
Exemplo n.º 3
0
    def get_state(self):
        """
            Returns an object with the state of the interface
        """
        m = ReductionOptions()

        m.instrument_name = self._summary.instr_name_label.text()

        # Absolute scaling
        m.scaling_factor = util._check_and_get_float_line_edit(self._summary.scale_edit)
        m.calculate_scale = self._summary.scale_chk.isChecked()
        m.scaling_direct_file = unicode(self._summary.scale_data_edit.text())
        m.scaling_att_trans = util._check_and_get_float_line_edit(self._summary.scale_att_trans_edit)
        m.scaling_beam_diam = util._check_and_get_float_line_edit(self._summary.scale_beam_radius_edit, min=0.0)
        m.manual_beam_diam = self._summary.beamstop_chk.isChecked()

        # Detector offset input
        if self._summary.detector_offset_chk.isChecked():
            m.detector_offset = util._check_and_get_float_line_edit(self._summary.detector_offset_edit)

        # Sample-detector distance
        if self._summary.sample_dist_chk.isChecked():
            m.sample_detector_distance = util._check_and_get_float_line_edit(self._summary.sample_dist_edit)

        # Solid angle correction
        m.solid_angle_corr = self._summary.solid_angle_chk.isChecked()

        # Dark current
        m.dark_current_corr = self._summary.dark_current_check.isChecked()
        m.dark_current_data = unicode(self._summary.dark_file_edit.text())

        # Q range
        m.n_q_bins = util._check_and_get_int_line_edit(self._summary.n_q_bins_edit)
        m.log_binning = self._summary.log_binning_radio.isChecked()

        # TOF cuts
        m.use_config_cutoff = self._summary.tof_cut_chk.isChecked()
        m.low_TOF_cut = util._check_and_get_float_line_edit(self._summary.low_tof_edit)
        m.high_TOF_cut = util._check_and_get_float_line_edit(self._summary.high_tof_edit)

        # Config Mask
        m.use_config_mask = self._summary.config_mask_chk.isChecked()

        # Mask detector IDs
        m.use_mask_file = self._summary.mask_check.isChecked()
        m.mask_file = unicode(self._summary.mask_edit.text())
        m.detector_ids = self._masked_detectors
        if AnalysisDataService.doesExist(self.mask_ws):
            ws, masked_detectors = ExtractMask(InputWorkspace=self.mask_ws, OutputWorkspace="__edited_mask")
            m.detector_ids = [int(i) for i in masked_detectors]

        # Resolution parameters
        m.compute_resolution = self._summary.resolution_chk.isChecked()
        m.sample_aperture_diameter = util._check_and_get_float_line_edit(self._summary.sample_apert_edit)

        m.perform_TOF_correction = self._summary.tof_correction_chk.isChecked()
        m.use_beam_monitor = self._summary.beam_monitor_chk.isChecked()
        m.beam_monitor_reference = unicode(self._summary.beam_monitor_edit.text())

        # Output directory
        m.use_data_directory = self._summary.use_data_dir_radio.isChecked()
        m.output_directory = str(self._summary.output_dir_edit.text())
        self._settings.data_output_dir = m.output_directory

        self._settings.emit_key_value("DARK_CURRENT", str(self._summary.dark_file_edit.text()))
        self._settings.emit_key_value("OUTPUT_DIR", m.output_directory)
        return m
Exemplo n.º 4
0
    def get_state(self):
        """
            Returns an object with the state of the interface
        """
        m = ReductionOptions()

        m.instrument_name = self._summary.instr_name_label.text()

        # Absolute scaling
        m.scaling_factor = util._check_and_get_float_line_edit(
            self._summary.scale_edit)
        m.calculate_scale = self._summary.scale_chk.isChecked()
        m.scaling_direct_file = unicode(self._summary.scale_data_edit.text())
        m.scaling_att_trans = util._check_and_get_float_line_edit(
            self._summary.scale_att_trans_edit)
        m.scaling_beam_diam = util._check_and_get_float_line_edit(
            self._summary.scale_beam_radius_edit, min=0.0)
        m.manual_beam_diam = self._summary.beamstop_chk.isChecked()

        # Detector offset input
        if self._summary.detector_offset_chk.isChecked():
            m.detector_offset = util._check_and_get_float_line_edit(
                self._summary.detector_offset_edit)

        # Sample-detector distance
        if self._summary.sample_dist_chk.isChecked():
            m.sample_detector_distance = util._check_and_get_float_line_edit(
                self._summary.sample_dist_edit)

        # Solid angle correction
        m.solid_angle_corr = self._summary.solid_angle_chk.isChecked()

        # Dark current
        m.dark_current_corr = self._summary.dark_current_check.isChecked()
        m.dark_current_data = unicode(self._summary.dark_file_edit.text())

        # Q range
        m.n_q_bins = util._check_and_get_int_line_edit(
            self._summary.n_q_bins_edit)
        m.log_binning = self._summary.log_binning_radio.isChecked()

        # TOF cuts
        m.use_config_cutoff = self._summary.tof_cut_chk.isChecked()
        m.low_TOF_cut = util._check_and_get_float_line_edit(
            self._summary.low_tof_edit)
        m.high_TOF_cut = util._check_and_get_float_line_edit(
            self._summary.high_tof_edit)

        # Config Mask
        m.use_config_mask = self._summary.config_mask_chk.isChecked()

        # Mask detector IDs
        m.use_mask_file = self._summary.mask_check.isChecked()
        m.mask_file = unicode(self._summary.mask_edit.text())
        m.detector_ids = self._masked_detectors
        if self._in_mantidplot:
            from mantid.api import AnalysisDataService
            import mantid.simpleapi as api
            if AnalysisDataService.doesExist(self.mask_ws):
                ws, masked_detectors = api.ExtractMask(
                    InputWorkspace=self.mask_ws,
                    OutputWorkspace="__edited_mask")
                m.detector_ids = [int(i) for i in masked_detectors]

        # Resolution parameters
        m.compute_resolution = self._summary.resolution_chk.isChecked()
        m.sample_aperture_diameter = util._check_and_get_float_line_edit(
            self._summary.sample_apert_edit)

        m.perform_TOF_correction = self._summary.tof_correction_chk.isChecked()
        m.use_beam_monitor = self._summary.beam_monitor_chk.isChecked()
        m.beam_monitor_reference = unicode(
            self._summary.beam_monitor_edit.text())

        # Output directory
        m.use_data_directory = self._summary.use_data_dir_radio.isChecked()
        m.output_directory = str(self._summary.output_dir_edit.text())
        self._settings.data_output_dir = m.output_directory

        self._settings.emit_key_value("DARK_CURRENT",
                                      str(self._summary.dark_file_edit.text()))
        return m
Exemplo n.º 5
0
    def get_state(self):
        """
            Returns an object with the state of the interface
        """
        m = ReductionOptions()

        m.instrument_name = self._summary.instr_name_label.text()

        # Absolute scaling
        m.scaling_factor = util._check_and_get_float_line_edit(self._summary.scale_edit)
        m.calculate_scale = self._summary.scale_chk.isChecked()
        m.scaling_direct_file = unicode(self._summary.scale_data_edit.text())
        m.scaling_att_trans = util._check_and_get_float_line_edit(self._summary.scale_att_trans_edit)
        m.scaling_beam_diam = util._check_and_get_float_line_edit(self._summary.scale_beam_radius_edit, min=0.0)
        m.manual_beam_diam = self._summary.beamstop_chk.isChecked()

        # Detector offset input
        if self._summary.detector_offset_chk.isChecked():
            m.detector_offset = util._check_and_get_float_line_edit(self._summary.detector_offset_edit)

        # Sample-detector distance
        if self._summary.sample_dist_chk.isChecked():
            m.sample_detector_distance = util._check_and_get_float_line_edit(self._summary.sample_dist_edit)

        # Wavelength value
        wavelength = util._check_and_get_float_line_edit(self._summary.wavelength_edit, min=0.0)
        if self._summary.wavelength_chk.isChecked():
            m.wavelength = wavelength
            m.wavelength_spread = util._check_and_get_float_line_edit(self._summary.wavelength_spread_edit)

        # Solid angle correction
        m.solid_angle_corr = self._summary.solid_angle_chk.isChecked()

        # Dark current
        m.dark_current_corr = self._summary.dark_current_check.isChecked()
        m.dark_current_data = unicode(self._summary.dark_file_edit.text())

        # Normalization
        if self._summary.normalization_none_radio.isChecked():
            m.normalization = m.NORMALIZATION_NONE
        elif self._summary.normalization_time_radio.isChecked():
            m.normalization = m.NORMALIZATION_TIME
        elif self._summary.normalization_monitor_radio.isChecked():
            m.normalization = m.NORMALIZATION_MONITOR

        # Q range
        m.n_q_bins = util._check_and_get_int_line_edit(self._summary.n_q_bins_edit)
        m.n_sub_pix = util._check_and_get_int_line_edit(self._summary.n_sub_pix_edit)
        m.log_binning = self._summary.log_binning_radio.isChecked()

        # Mask detector IDs
        m.use_mask_file = self._summary.mask_check.isChecked()
        m.mask_file = unicode(self._summary.mask_edit.text())
        m.detector_ids = self._masked_detectors
        if self._in_mantidplot:
            from mantid.api import AnalysisDataService
            import mantid.simpleapi as api
            if AnalysisDataService.doesExist(self.mask_ws):
                ws, masked_detectors = api.ExtractMask(InputWorkspace=self.mask_ws, OutputWorkspace="__edited_mask")
                m.detector_ids = [int(i) for i in masked_detectors]

        self._settings.emit_key_value("DARK_CURRENT", str(self._summary.dark_file_edit.text()))
        return m
Exemplo n.º 6
0
    def get_state(self):
        """
            Returns an object with the state of the interface
        """
        m = ReductionOptions()
        
        m.instrument_name = self._summary.instr_name_label.text()
        
        # Absolute scaling
        m.scaling_factor = util._check_and_get_float_line_edit(self._summary.scale_edit)
        m.calculate_scale = self._summary.scale_chk.isChecked()
        m.scaling_direct_file = unicode(self._summary.scale_data_edit.text())
        m.scaling_att_trans = util._check_and_get_float_line_edit(self._summary.scale_att_trans_edit)
        m.scaling_beam_diam = util._check_and_get_float_line_edit(self._summary.scale_beam_radius_edit, min=0.0)
        m.manual_beam_diam = self._summary.beamstop_chk.isChecked()
        
        # Detector offset input
        if self._summary.detector_offset_chk.isChecked():
            m.detector_offset = util._check_and_get_float_line_edit(self._summary.detector_offset_edit)
            
        # Sample-detector distance
        if self._summary.sample_dist_chk.isChecked():
            m.sample_detector_distance = util._check_and_get_float_line_edit(self._summary.sample_dist_edit)
            
        # Solid angle correction
        m.solid_angle_corr = self._summary.solid_angle_chk.isChecked()
        
        # Dark current
        m.dark_current_corr = self._summary.dark_current_check.isChecked()
        m.dark_current_data = unicode(self._summary.dark_file_edit.text())
        
        # Q range
        m.n_q_bins = util._check_and_get_int_line_edit(self._summary.n_q_bins_edit)
        m.log_binning = self._summary.log_binning_radio.isChecked()
        
        # TOF cuts
        m.use_config_cutoff = self._summary.tof_cut_chk.isChecked()
        m.low_TOF_cut = util._check_and_get_float_line_edit(self._summary.low_tof_edit)
        m.high_TOF_cut = util._check_and_get_float_line_edit(self._summary.high_tof_edit)
        
        # Config Mask
        m.use_config_mask = self._summary.config_mask_chk.isChecked()

       # Mask detector IDs
        m.use_mask_file = self._summary.mask_check.isChecked()
        m.mask_file = unicode(self._summary.mask_edit.text())
        m.detector_ids = self._masked_detectors
        if self._in_mantidplot:
            if mtd.workspaceExists(self.mask_ws):
                masked_detectors = GetMaskedDetectors(self.mask_ws)
                ids_str = masked_detectors.getPropertyValue("DetectorList")
                m.detector_ids = map(int, ids_str.split(','))

        # Resolution parameters
        m.compute_resolution = self._summary.resolution_chk.isChecked()
        m.sample_aperture_diameter = util._check_and_get_float_line_edit(self._summary.sample_apert_edit) 

        # Output directory
        m.use_data_directory = self._summary.use_data_dir_radio.isChecked()
        m.output_directory = str(self._summary.output_dir_edit.text())
        
        return m
Exemplo n.º 7
0
 def get_state(self):
     """
         Returns an object with the state of the interface
     """
     m = ReductionOptions()
     
     m.instrument_name = self._summary.instr_name_label.text()
     
     # Absolute scaling
     m.scaling_factor = util._check_and_get_float_line_edit(self._summary.scale_edit)
     m.calculate_scale = self._summary.scale_chk.isChecked()
     m.scaling_direct_file = unicode(self._summary.scale_data_edit.text())
     m.scaling_att_trans = util._check_and_get_float_line_edit(self._summary.scale_att_trans_edit)
     m.scaling_beam_diam = util._check_and_get_float_line_edit(self._summary.scale_beam_radius_edit, min=0.0)
     m.manual_beam_diam = self._summary.beamstop_chk.isChecked()
     
     # Detector offset input
     if self._summary.detector_offset_chk.isChecked():
         m.detector_offset = util._check_and_get_float_line_edit(self._summary.detector_offset_edit)
         
     # Sample-detector distance
     if self._summary.sample_dist_chk.isChecked():
         m.sample_detector_distance = util._check_and_get_float_line_edit(self._summary.sample_dist_edit)
         
     # Wavelength value
     wavelength = util._check_and_get_float_line_edit(self._summary.wavelength_edit, min=0.0)
     if self._summary.wavelength_chk.isChecked():
         m.wavelength = wavelength
         m.wavelength_spread = util._check_and_get_float_line_edit(self._summary.wavelength_spread_edit)
         
     # Solid angle correction
     m.solid_angle_corr = self._summary.solid_angle_chk.isChecked()
     
     # Dark current
     m.dark_current_corr = self._summary.dark_current_check.isChecked()
     m.dark_current_data = unicode(self._summary.dark_file_edit.text())
     
     # Normalization
     if self._summary.normalization_none_radio.isChecked():
         m.normalization = m.NORMALIZATION_NONE
     elif self._summary.normalization_time_radio.isChecked():
         m.normalization = m.NORMALIZATION_TIME
     elif self._summary.normalization_monitor_radio.isChecked():
         m.normalization = m.NORMALIZATION_MONITOR
         
     # Q range
     m.n_q_bins = util._check_and_get_int_line_edit(self._summary.n_q_bins_edit)
     m.n_sub_pix = util._check_and_get_int_line_edit(self._summary.n_sub_pix_edit)
     m.log_binning = self._summary.log_binning_radio.isChecked()
     
     # Mask detector IDs
     m.use_mask_file = self._summary.mask_check.isChecked()
     m.mask_file = unicode(self._summary.mask_edit.text())
     m.detector_ids = self._masked_detectors
     if self._in_mantidplot:
         if mtd.workspaceExists(self.mask_ws):
             masked_detectors = GetMaskedDetectors(self.mask_ws)
             ids_str = masked_detectors.getPropertyValue("DetectorList")
             m.detector_ids = map(int, ids_str.split(','))
     
     return m