Skip to content
Snippets Groups Projects
Unverified Commit ba418a60 authored by Gagik Vardanyan's avatar Gagik Vardanyan Committed by GitHub
Browse files

Merge pull request #23691 from mantidproject/23690_Fix_overwriting_focus_results

Re #23690 Fixed issue with overwriting focus results
parents 0afb8979 8585f8b0
No related branches found
No related tags found
No related merge requests found
7fd06e065b645d51c69c248303f76265 1feccda871823814107a21de6eb9a260
...@@ -120,9 +120,8 @@ def _divide_one_spectrum_by_spline(spectrum, spline, instrument): ...@@ -120,9 +120,8 @@ def _divide_one_spectrum_by_spline(spectrum, spline, instrument):
if instrument.get_instrument_prefix() == "GEM": if instrument.get_instrument_prefix() == "GEM":
divided = mantid.Divide(LHSWorkspace=spectrum, RHSWorkspace=rebinned_spline, OutputWorkspace=spectrum, divided = mantid.Divide(LHSWorkspace=spectrum, RHSWorkspace=rebinned_spline, OutputWorkspace=spectrum,
StoreInADS=False) StoreInADS=False)
output = _crop_spline_to_percent_of_max(rebinned_spline, divided) return _crop_spline_to_percent_of_max(rebinned_spline, divided, spectrum)
mantid.mtd['output'] = output
return output
divided = mantid.Divide(LHSWorkspace=spectrum, RHSWorkspace=rebinned_spline, OutputWorkspace=spectrum) divided = mantid.Divide(LHSWorkspace=spectrum, RHSWorkspace=rebinned_spline, OutputWorkspace=spectrum)
return divided return divided
...@@ -167,7 +166,7 @@ def _test_splined_vanadium_exists(instrument, run_details): ...@@ -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") " \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) spline_spectrum = spline.readY(0)
y_val = numpy.amax(spline_spectrum) y_val = numpy.amax(spline_spectrum)
y_val = y_val / 100 y_val = y_val / 100
...@@ -175,5 +174,5 @@ def _crop_spline_to_percent_of_max(spline, input_ws): ...@@ -175,5 +174,5 @@ def _crop_spline_to_percent_of_max(spline, input_ws):
small_spline_indecies = numpy.nonzero(spline_spectrum > y_val)[0] small_spline_indecies = numpy.nonzero(spline_spectrum > y_val)[0]
x_max = x_list[small_spline_indecies[-1]] x_max = x_list[small_spline_indecies[-1]]
x_min = x_list[small_spline_indecies[0]] 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 return output
...@@ -9,7 +9,7 @@ class ISISPowderFocusCropTest(unittest.TestCase): ...@@ -9,7 +9,7 @@ class ISISPowderFocusCropTest(unittest.TestCase):
x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
y = [0, 0, 10, 30, 2000, 80, 50, 40, 30, 25, 30] y = [0, 0, 10, 30, 2000, 80, 50, 40, 30, 25, 30]
test_ws = mantid.CreateWorkspace(DataX=x, DataY=y) 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] y_compare = [30, 2000, 80, 50, 40, 30, 25, 30]
result = test_ws.readY(0) result = test_ws.readY(0)
for compare, val in zip(y_compare, result): for compare, val in zip(y_compare, result):
...@@ -19,7 +19,7 @@ class ISISPowderFocusCropTest(unittest.TestCase): ...@@ -19,7 +19,7 @@ class ISISPowderFocusCropTest(unittest.TestCase):
x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
y = [50, 100, 300, 500, 2000, 80, 50, 0, 0, 0, 0] y = [50, 100, 300, 500, 2000, 80, 50, 0, 0, 0, 0]
test_ws = mantid.CreateWorkspace(DataX=x, DataY=y) 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] y_compare = [50, 100, 300, 500, 2000, 80, 50]
result = test_ws.readY(0) result = test_ws.readY(0)
for compare, val in zip(y_compare, result): for compare, val in zip(y_compare, result):
...@@ -29,7 +29,7 @@ class ISISPowderFocusCropTest(unittest.TestCase): ...@@ -29,7 +29,7 @@ class ISISPowderFocusCropTest(unittest.TestCase):
x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
y = [0, 0, 10, 30, 2000, 80, 50, 0, 0, 0, 0] y = [0, 0, 10, 30, 2000, 80, 50, 0, 0, 0, 0]
test_ws = mantid.CreateWorkspace(DataX=x, DataY=y) 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] y_compare = [30, 2000, 80, 50]
result = test_ws.readY(0) result = test_ws.readY(0)
for compare, val in zip(y_compare, result): for compare, val in zip(y_compare, result):
...@@ -39,7 +39,7 @@ class ISISPowderFocusCropTest(unittest.TestCase): ...@@ -39,7 +39,7 @@ class ISISPowderFocusCropTest(unittest.TestCase):
x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
y = [1, 5, 10, 30, 20, 80, 50, 40, 20, 10, 1] y = [1, 5, 10, 30, 20, 80, 50, 40, 20, 10, 1]
test_ws = mantid.CreateWorkspace(DataX=x, DataY=y) 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] y_compare = [1, 5, 10, 30, 20, 80, 50, 40, 20, 10, 1]
result = test_ws.readY(0) result = test_ws.readY(0)
for compare, val in zip(y_compare, result): for compare, val in zip(y_compare, result):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment