From 259a8f686ae2df707aa7a2efbb4c1d53338aca2f Mon Sep 17 00:00:00 2001 From: David Fairbrother <DavidFair@users.noreply.github.com> Date: Mon, 21 Nov 2016 16:47:31 +0000 Subject: [PATCH] Re #17949 Move logic into routines to tidy TLD of isis_powder --- .../Diffraction/isis_powder/abstract_inst.py | 11 ++++------- scripts/Diffraction/isis_powder/pearl.py | 17 ++++++----------- .../isis_powder/pearl_routines/fmode_output.py | 4 ++-- .../{ => pearl_routines}/pearl_calib_factory.py | 0 .../{ => pearl_routines}/pearl_cycle_factory.py | 0 scripts/Diffraction/isis_powder/polaris.py | 13 +++---------- .../polaris_routines/polaris_calib_factory.py | 10 ---------- .../polaris_routines/polaris_calib_parser.py | 6 ++++-- .../isis_powder/{ => routines}/RunDetails.py | 0 .../isis_powder/routines/__init__.py | 1 + .../isis_powder/{ => routines}/calibrate.py | 3 ++- .../isis_powder/{ => routines}/common.py | 0 .../isis_powder/{ => routines}/focus.py | 3 ++- 13 files changed, 24 insertions(+), 44 deletions(-) rename scripts/Diffraction/isis_powder/{ => pearl_routines}/pearl_calib_factory.py (100%) rename scripts/Diffraction/isis_powder/{ => pearl_routines}/pearl_cycle_factory.py (100%) delete mode 100644 scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_factory.py rename scripts/Diffraction/isis_powder/{ => routines}/RunDetails.py (100%) create mode 100644 scripts/Diffraction/isis_powder/routines/__init__.py rename scripts/Diffraction/isis_powder/{ => routines}/calibrate.py (98%) rename scripts/Diffraction/isis_powder/{ => routines}/common.py (100%) rename scripts/Diffraction/isis_powder/{ => routines}/focus.py (98%) diff --git a/scripts/Diffraction/isis_powder/abstract_inst.py b/scripts/Diffraction/isis_powder/abstract_inst.py index 52fe4478c9d..ad37679d125 100644 --- a/scripts/Diffraction/isis_powder/abstract_inst.py +++ b/scripts/Diffraction/isis_powder/abstract_inst.py @@ -1,12 +1,12 @@ from __future__ import (absolute_import, division, print_function) +import os from abc import ABCMeta, abstractmethod + from six import add_metaclass -import os -from isis_powder import common -from isis_powder import focus -from isis_powder import calibrate +from isis_powder.routines import calibrate, focus, common + # This class provides common hooks for instruments to override # if they want to define the behaviour of the hook. Otherwise it @@ -224,9 +224,6 @@ class AbstractInst(object): return True # TODO set this to False if they just dump their raw files in one folder - def _mask_noisy_detectors(self, vanadium_run): - pass - def _calculate_solid_angle_efficiency_corrections(self, vanadium_ws): return _empty_hook_return_none() diff --git a/scripts/Diffraction/isis_powder/pearl.py b/scripts/Diffraction/isis_powder/pearl.py index e20fcc07776..b7a42798a89 100644 --- a/scripts/Diffraction/isis_powder/pearl.py +++ b/scripts/Diffraction/isis_powder/pearl.py @@ -1,20 +1,16 @@ from __future__ import (absolute_import, division, print_function) -import mantid.simpleapi as mantid -from mantid import config +import os +import mantid.simpleapi as mantid import numpy as numpy +from mantid import config -import os - +import isis_powder.routines.common as common from isis_powder.abstract_inst import AbstractInst -import isis_powder.common as common +from isis_powder.pearl_routines import fmode_output, pearl_calib_factory, pearl_cycle_factory +from isis_powder.routines.RunDetails import RunDetails -from isis_powder import pearl_calib_factory -from isis_powder import pearl_cycle_factory -from isis_powder.RunDetails import RunDetails - -from isis_powder.pearl_routines import fmode_output class Pearl(AbstractInst): @@ -50,7 +46,6 @@ class Pearl(AbstractInst): pearl_mc_absorption_file_name = "PRL112_DC25_10MM_FF.OUT" # TODO self._attenuation_full_path = os.path.join(calibration_dir, pearl_mc_absorption_file_name) - # --- Abstract Implementation ---- # # Params # diff --git a/scripts/Diffraction/isis_powder/pearl_routines/fmode_output.py b/scripts/Diffraction/isis_powder/pearl_routines/fmode_output.py index c91bb1cfc4e..16dd8da3c47 100644 --- a/scripts/Diffraction/isis_powder/pearl_routines/fmode_output.py +++ b/scripts/Diffraction/isis_powder/pearl_routines/fmode_output.py @@ -2,7 +2,7 @@ from __future__ import (absolute_import, division, print_function) import mantid.simpleapi as mantid -import isis_powder.common as common +import isis_powder.routines.common as common # This file generates the various outputs for the PEARL instruments and saves them to their respective files @@ -138,7 +138,7 @@ def _focus_mode_all(output_file_paths, calibrated_spectra): first_spectrum = calibrated_spectra[0] summed_spectra = mantid.CloneWorkspace(InputWorkspace=first_spectrum) - for i in range(1, 9): # TODO why is this 1-8 + for i in range(1, 9): summed_spectra = mantid.Plus(LHSWorkspace=summed_spectra, RHSWorkspace=calibrated_spectra[i]) summed_spectra_name = output_file_paths["output_name"] + "_mods1-9" diff --git a/scripts/Diffraction/isis_powder/pearl_calib_factory.py b/scripts/Diffraction/isis_powder/pearl_routines/pearl_calib_factory.py similarity index 100% rename from scripts/Diffraction/isis_powder/pearl_calib_factory.py rename to scripts/Diffraction/isis_powder/pearl_routines/pearl_calib_factory.py diff --git a/scripts/Diffraction/isis_powder/pearl_cycle_factory.py b/scripts/Diffraction/isis_powder/pearl_routines/pearl_cycle_factory.py similarity index 100% rename from scripts/Diffraction/isis_powder/pearl_cycle_factory.py rename to scripts/Diffraction/isis_powder/pearl_routines/pearl_cycle_factory.py diff --git a/scripts/Diffraction/isis_powder/polaris.py b/scripts/Diffraction/isis_powder/polaris.py index a486731e52b..570f0f90907 100644 --- a/scripts/Diffraction/isis_powder/polaris.py +++ b/scripts/Diffraction/isis_powder/polaris.py @@ -1,14 +1,13 @@ from __future__ import (absolute_import, division, print_function) -import math import os + import mantid.simpleapi as mantid +import isis_powder.routines.common as common from isis_powder.abstract_inst import AbstractInst from isis_powder.polaris_routines import polaris_calib_parser - -import isis_powder.common as common -from isis_powder.RunDetails import RunDetails +from isis_powder.routines.RunDetails import RunDetails class Polaris(AbstractInst): @@ -100,12 +99,6 @@ class Polaris(AbstractInst): normalised_ws = mantid.NormaliseByCurrent(InputWorkspace=ws_to_correct) return normalised_ws - def _mask_noisy_detectors(self, vanadium_ws): - summed_van_ws = mantid.Integration(InputWorkspace=vanadium_ws) - # TODO do they want this masking detectors with too high a contribution? - mantid.MaskDetectorsIf(InputWorkspace=summed_van_ws, InputCalFile=self._grouping_file_path, - OutputCalFile=self._cal_file_path, Mode="DeselectIf", Operator="LessEqual", Value=10) - def _calculate_solid_angle_efficiency_corrections(self, vanadium_ws): solid_angle_ws = mantid.SolidAngle(InputWorkspace=vanadium_ws) solid_angle_multiplicand = mantid.CreateSingleValuedWorkspace(DataValue=str(100)) diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_factory.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_factory.py deleted file mode 100644 index 0c62c4afbd1..00000000000 --- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_factory.py +++ /dev/null @@ -1,10 +0,0 @@ -from __future__ import (absolute_import, division, print_function) - - -def get_calibration_file(cycle): - - # TODO setup this - offset_file_name = "offsets_2011_cycle111b.cal" - grouping_file_name = "offsets_2011_cycle111b.cal" - vanadium_file_name = "POL78338.raw" - return offset_file_name, grouping_file_name, vanadium_file_name \ No newline at end of file diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_parser.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_parser.py index 61bec441c3f..48680fca5ac 100644 --- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_parser.py +++ b/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_parser.py @@ -1,9 +1,11 @@ from __future__ import (absolute_import, division, print_function) -import isis_powder.common import os + import yaml +import isis_powder.routines.common + def get_calibration_dict(run_number): config_file = _open_yaml_file() @@ -52,7 +54,7 @@ def _check_if_run_is_exception(config_handle, run_number): def _find_dictionary_key(dict_to_search, run_number): for key in dict_to_search: - generated_runs = isis_powder.common.generate_run_numbers(run_number_string=key) + generated_runs = isis_powder.routines.common.generate_run_numbers(run_number_string=key) if run_number in generated_runs: return key diff --git a/scripts/Diffraction/isis_powder/RunDetails.py b/scripts/Diffraction/isis_powder/routines/RunDetails.py similarity index 100% rename from scripts/Diffraction/isis_powder/RunDetails.py rename to scripts/Diffraction/isis_powder/routines/RunDetails.py diff --git a/scripts/Diffraction/isis_powder/routines/__init__.py b/scripts/Diffraction/isis_powder/routines/__init__.py new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/scripts/Diffraction/isis_powder/routines/__init__.py @@ -0,0 +1 @@ + diff --git a/scripts/Diffraction/isis_powder/calibrate.py b/scripts/Diffraction/isis_powder/routines/calibrate.py similarity index 98% rename from scripts/Diffraction/isis_powder/calibrate.py rename to scripts/Diffraction/isis_powder/routines/calibrate.py index a6132e9dd91..5757e75a46e 100644 --- a/scripts/Diffraction/isis_powder/calibrate.py +++ b/scripts/Diffraction/isis_powder/routines/calibrate.py @@ -1,9 +1,10 @@ from __future__ import (absolute_import, division, print_function) import os + import mantid.simpleapi as mantid -import isis_powder.common as common +import isis_powder.routines.common as common def create_van(instrument, van, empty, output_van_file_name, num_of_splines, absorb, gen_absorb): diff --git a/scripts/Diffraction/isis_powder/common.py b/scripts/Diffraction/isis_powder/routines/common.py similarity index 100% rename from scripts/Diffraction/isis_powder/common.py rename to scripts/Diffraction/isis_powder/routines/common.py diff --git a/scripts/Diffraction/isis_powder/focus.py b/scripts/Diffraction/isis_powder/routines/focus.py similarity index 98% rename from scripts/Diffraction/isis_powder/focus.py rename to scripts/Diffraction/isis_powder/routines/focus.py index 98e79741316..49fc5f41440 100644 --- a/scripts/Diffraction/isis_powder/focus.py +++ b/scripts/Diffraction/isis_powder/routines/focus.py @@ -1,7 +1,8 @@ from __future__ import (absolute_import, division, print_function) import mantid.simpleapi as mantid -import isis_powder.common as common + +import isis_powder.routines.common as common def focus(number, instrument, attenuate=True, van_norm=True): -- GitLab