diff --git a/Testing/SystemTests/tests/analysis/reference/ISIS_Powder-GEM83605_FocusSempty.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/ISIS_Powder-GEM83605_FocusSempty.nxs.md5 index d85832bc0b8c0f62c13521c97ce5252854c46103..e1dee0343f1ec3b8b492ce2f7b73106db8606678 100644 --- a/Testing/SystemTests/tests/analysis/reference/ISIS_Powder-GEM83605_FocusSempty.nxs.md5 +++ b/Testing/SystemTests/tests/analysis/reference/ISIS_Powder-GEM83605_FocusSempty.nxs.md5 @@ -1 +1 @@ -7fd06e065b645d51c69c248303f76265 +1feccda871823814107a21de6eb9a260 diff --git a/scripts/Diffraction/isis_powder/routines/focus.py b/scripts/Diffraction/isis_powder/routines/focus.py index 53da12961c8f7e0d89f85ddd7600fa2744e2aa42..2f7c96a4125b18c39cb4b9b208ac23b40f144097 100644 --- a/scripts/Diffraction/isis_powder/routines/focus.py +++ b/scripts/Diffraction/isis_powder/routines/focus.py @@ -120,9 +120,8 @@ def _divide_one_spectrum_by_spline(spectrum, spline, instrument): if instrument.get_instrument_prefix() == "GEM": divided = mantid.Divide(LHSWorkspace=spectrum, RHSWorkspace=rebinned_spline, OutputWorkspace=spectrum, StoreInADS=False) - output = _crop_spline_to_percent_of_max(rebinned_spline, divided) - mantid.mtd['output'] = output - return output + return _crop_spline_to_percent_of_max(rebinned_spline, divided, spectrum) + divided = mantid.Divide(LHSWorkspace=spectrum, RHSWorkspace=rebinned_spline, OutputWorkspace=spectrum) return divided @@ -167,7 +166,7 @@ def _test_splined_vanadium_exists(instrument, run_details): " \nHave you run the method to create a Vanadium spline with these settings yet?\n") -def _crop_spline_to_percent_of_max(spline, input_ws): +def _crop_spline_to_percent_of_max(spline, input_ws, output_workspace): spline_spectrum = spline.readY(0) y_val = numpy.amax(spline_spectrum) y_val = y_val / 100 @@ -175,5 +174,5 @@ def _crop_spline_to_percent_of_max(spline, input_ws): small_spline_indecies = numpy.nonzero(spline_spectrum > y_val)[0] x_max = x_list[small_spline_indecies[-1]] x_min = x_list[small_spline_indecies[0]] - output = mantid.CropWorkspace(inputWorkspace=input_ws, XMin=x_min, XMax=x_max, StoreInADS=False) + output = mantid.CropWorkspace(inputWorkspace=input_ws, XMin=x_min, XMax=x_max, OutputWorkspace=output_workspace) return output diff --git a/scripts/test/isis_powder/ISISPowderFocusCropTest.py b/scripts/test/isis_powder/ISISPowderFocusCropTest.py index b7216cde9110a0f8fe31eef990c600c71de44acc..590ad10edbb089e94bcf7df96d57625ed09a090e 100644 --- a/scripts/test/isis_powder/ISISPowderFocusCropTest.py +++ b/scripts/test/isis_powder/ISISPowderFocusCropTest.py @@ -9,7 +9,7 @@ class ISISPowderFocusCropTest(unittest.TestCase): x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] y = [0, 0, 10, 30, 2000, 80, 50, 40, 30, 25, 30] test_ws = mantid.CreateWorkspace(DataX=x, DataY=y) - test_ws = focus._crop_spline_to_percent_of_max(test_ws, test_ws) + test_ws = focus._crop_spline_to_percent_of_max(test_ws, test_ws, test_ws) y_compare = [30, 2000, 80, 50, 40, 30, 25, 30] result = test_ws.readY(0) for compare, val in zip(y_compare, result): @@ -19,7 +19,7 @@ class ISISPowderFocusCropTest(unittest.TestCase): x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] y = [50, 100, 300, 500, 2000, 80, 50, 0, 0, 0, 0] test_ws = mantid.CreateWorkspace(DataX=x, DataY=y) - test_ws = focus._crop_spline_to_percent_of_max(test_ws, test_ws) + test_ws = focus._crop_spline_to_percent_of_max(test_ws, test_ws, test_ws) y_compare = [50, 100, 300, 500, 2000, 80, 50] result = test_ws.readY(0) for compare, val in zip(y_compare, result): @@ -29,7 +29,7 @@ class ISISPowderFocusCropTest(unittest.TestCase): x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] y = [0, 0, 10, 30, 2000, 80, 50, 0, 0, 0, 0] test_ws = mantid.CreateWorkspace(DataX=x, DataY=y) - test_ws = focus._crop_spline_to_percent_of_max(test_ws, test_ws) + test_ws = focus._crop_spline_to_percent_of_max(test_ws, test_ws, test_ws) y_compare = [30, 2000, 80, 50] result = test_ws.readY(0) for compare, val in zip(y_compare, result): @@ -39,7 +39,7 @@ class ISISPowderFocusCropTest(unittest.TestCase): x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] y = [1, 5, 10, 30, 20, 80, 50, 40, 20, 10, 1] test_ws = mantid.CreateWorkspace(DataX=x, DataY=y) - test_ws = focus._crop_spline_to_percent_of_max(test_ws, test_ws) + test_ws = focus._crop_spline_to_percent_of_max(test_ws, test_ws, test_ws) y_compare = [1, 5, 10, 30, 20, 80, 50, 40, 20, 10, 1] result = test_ws.readY(0) for compare, val in zip(y_compare, result):