diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py index 182fb33fee8068e04e8afa211f1fbb14bff0f4a8..feb949918831d334439833ca281b1895d0f96762 100644 --- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py +++ b/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py @@ -156,25 +156,7 @@ def _merge_workspace_with_limits(focused_ws, q_lims): InputWorkspace2=focused_ws[1]) focused_ws_conjoined = focused_ws[0] - if type(q_lims) == str: - q_min = [] - q_max = [] - try: - with open(q_lims, 'r') as f: - line_list = [line.rstrip('\n') for line in f] - for line in line_list[1:]: - value_list = line.split() - q_min.append(float(value_list[2])) - q_max.append(float(value_list[3])) - q_min = np.array(q_min) - q_max = np.array(q_max) - except IOError: - raise RuntimeError("q_lims directory is not valid") - elif type(q_lims) == list or type(q_lims) == np.ndarray: - q_min = q_lims[0, :] - q_max = q_lims[1, :] - else: - raise RuntimeError("q_lims type is not valid") + q_min, q_max = _load_qlims(q_lims) bin_width = np.inf for i in range(q_min.size): pdf_x_array = focused_ws_conjoined.readX(i) @@ -195,6 +177,29 @@ def _merge_workspace_with_limits(focused_ws, q_lims): return focused_data_combined +def _load_qlims(q_lims): + if type(q_lims) == str or type(q_lims) == unicode: + q_min = [] + q_max = [] + try: + with open(q_lims, 'r') as f: + line_list = [line.rstrip('\n') for line in f] + for line in line_list[1:]: + value_list = line.split() + q_min.append(float(value_list[2])) + q_max.append(float(value_list[3])) + q_min = np.array(q_min) + q_max = np.array(q_max) + except IOError: + raise RuntimeError("q_lims directory is not valid") + elif type(q_lims) == list or type(q_lims) == np.ndarray: + q_min = q_lims[0, :] + q_max = q_lims[1, :] + else: + raise RuntimeError("q_lims type is not valid") + return q_min, q_max + + def _calculate_self_scattering_correction(run_number, cal_file_name, sample_details): raw_ws = mantid.Load(Filename='POLARIS'+str(run_number)+'.nxs') mantid.SetSample(InputWorkspace=raw_ws,