def run_integral(integral_ranges, mask, integral, detector, state):
    ranges = parse_range(integral_ranges)
    input_workspaces = load_workspace(state)

    is_multi_range = len (ranges) > 1

    output_workspaces = []
    for input_workspace in input_workspaces:
        input_workspace_name = input_workspace.name()
        if is_multi_range:
            AnalysisDataService.remove(input_workspace_name + '_ranges')
        input_workspace = crop_workspace(DetectorType.to_string(detector), input_workspace)

        if mask:
            input_workspace = apply_mask(state, input_workspace, DetectorType.to_string(detector))

        x_dim, y_dim = get_detector_size_from_sans_file(state, detector)

        output_workspace = integrate_ranges(ranges, integral, mask, detector, input_workspace_name, input_workspace, x_dim, y_dim,
                                            is_multi_range)
        plot_graph(output_workspace)

        output_workspaces.append(output_workspace)

    return output_workspaces
Пример #2
0
def run_integral(integral_ranges, mask, integral, detector, state):
    ranges = parse_range(integral_ranges)
    input_workspaces = load_workspace(state)

    is_multi_range = len(ranges) > 1

    output_workspaces = []
    for input_workspace in input_workspaces:
        input_workspace_name = input_workspace.name()
        if is_multi_range:
            AnalysisDataService.remove(input_workspace_name + '_ranges')
        input_workspace = crop_workspace(DetectorType.to_string(detector),
                                         input_workspace)

        if mask:
            input_workspace = apply_mask(state, input_workspace,
                                         DetectorType.to_string(detector))

        x_dim, y_dim = get_detector_size_from_sans_file(state, detector)

        output_workspace = integrate_ranges(ranges, integral, mask, detector,
                                            input_workspace_name,
                                            input_workspace, x_dim, y_dim,
                                            is_multi_range)
        plot_graph(output_workspace)

        output_workspaces.append(output_workspace)

    return output_workspaces
Пример #3
0
    def run_integral(self, integral_ranges, mask, integral, detector, state):
        ranges = self._parse_range(integral_ranges)
        input_workspaces = self._load_workspace(state)

        is_multi_range = len(ranges) > 1

        output_workspaces = []
        for input_workspace in input_workspaces:
            input_workspace_name = input_workspace.name()
            if is_multi_range:
                AnalysisDataService.remove(input_workspace_name + '_ranges')
            input_workspace = self._crop_workspace(detector.value,
                                                   input_workspace)

            if mask:
                input_workspace = self._apply_mask(state, input_workspace,
                                                   detector.value)

            x_dim, y_dim = self._get_detector_size_from_sans_file(
                state, detector)

            output_workspace = self._integrate_ranges(ranges, integral, mask,
                                                      detector,
                                                      input_workspace_name,
                                                      input_workspace, x_dim,
                                                      y_dim, is_multi_range)
            self._plot_graph(output_workspace)

            output_workspaces.append(output_workspace)

        return output_workspaces