diff --git a/scripts/Diffraction/isis_powder/gem.py b/scripts/Diffraction/isis_powder/gem.py
index 7ea44ed983bde5db2575b298f6333a3502da09fc..005320185be45bbddbb8529804a58fb39368beb7 100644
--- a/scripts/Diffraction/isis_powder/gem.py
+++ b/scripts/Diffraction/isis_powder/gem.py
@@ -63,7 +63,7 @@ class Gem(AbstractInst):
         else:
             return absorb_corrections.run_cylinder_absorb_corrections(
                 ws_to_correct=ws_to_correct, multiple_scattering=self._inst_settings.multiple_scattering,
-                sample_details_obj=self._sample_details, is_vanadium=self._is_vanadium)
+                sample_details_obj=self._sample_details)
 
     def _crop_banks_to_user_tof(self, focused_banks):
         return common.crop_banks_using_crop_list(focused_banks, self._inst_settings.focused_cropping_values)
diff --git a/scripts/Diffraction/isis_powder/hrpd.py b/scripts/Diffraction/isis_powder/hrpd.py
index 0a55a3f43fb1169ecdf736998774af4f06c0791e..47338d7be30ef6aa66f243201366ab575bb2740f 100644
--- a/scripts/Diffraction/isis_powder/hrpd.py
+++ b/scripts/Diffraction/isis_powder/hrpd.py
@@ -27,21 +27,20 @@ class HRPD(AbstractInst):
         self._sample_details = None
 
     def focus(self, **kwargs):
-        self._switch_decoupled_mode_inst_settings(kwargs.get("decoupled_mode"))
+        self._switch_tof_window_inst_settings(kwargs.get("window"))
         self._inst_settings.update_attributes(kwargs=kwargs)
         return self._focus(
             run_number_string=self._inst_settings.run_number, do_van_normalisation=self._inst_settings.do_van_norm,
             do_absorb_corrections=self._inst_settings.do_absorb_corrections)
 
     def create_vanadium(self, **kwargs):
-        self._switch_decoupled_mode_inst_settings(kwargs.get("decoupled_mode"))
+        self._switch_tof_window_inst_settings(kwargs.get("window"))
         self._inst_settings.update_attributes(kwargs=kwargs)
 
         return self._create_vanadium(run_number_string=self._inst_settings.run_in_range,
                                      do_absorb_corrections=self._inst_settings.do_absorb_corrections)
 
     def set_sample_details(self, **kwargs):
-        self._switch_decoupled_mode_inst_settings(kwargs.get("decoupled_mode"))
         kwarg_name = "sample"
         sample_details_obj = common.dictionary_key_helper(
             dictionary=kwargs, key=kwarg_name,
@@ -87,6 +86,6 @@ class HRPD(AbstractInst):
                                                          spline_number=spline_coeff)
         return output
 
-    def _switch_decoupled_mode_inst_settings(self, decoupled_mode):
+    def _switch_tof_window_inst_settings(self, tof_window):
         self._inst_settings.update_attributes(
-            advanced_config=hrpd_advanced_config.get_decoupled_mode_dict(decoupled_mode), suppress_warnings=True)
+            advanced_config=hrpd_advanced_config.get_tof_window_dict(tof_window=tof_window))
diff --git a/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_advanced_config.py b/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_advanced_config.py
index d29153ef716451abf665a14a27b7ccd142c42c17..fb4b4289c4e15f239e4bfce1c1a3042adc8722d9 100644
--- a/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_advanced_config.py
+++ b/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_advanced_config.py
@@ -1,5 +1,7 @@
 from __future__ import (absolute_import, division, print_function)
 
+from isis_powder.hrpd_routines.hrpd_enums import HRPD_TOF_WINDOWS
+
 absorption_correction_params = {
     "cylinder_sample_height": 2.0,
     "cylinder_sample_radius": 0.3,
@@ -16,8 +18,31 @@ coupled_params = {
     ]
 }
 
-decoupled_params = {
-    # TODO: Implement these
+window_10_110_params = {
+    "vanadium_tof_cropping": (1e4, 1.2e5),
+    "focused_cropping_values" : [
+        (1e4, 1.1e5),    # Bank 1
+        (1e4, 1.2e5),    # Bank 2
+        (1.1e4, 1.15e5)  # Bank 3
+    ]
+}
+
+window_30_130_params = {
+    "vanadium_tof_cropping": (3e4, 1.4e5),
+    "focused_cropping_values": [
+        (3e4, 1.3e5),      # Bank 1
+        (2.84e4, 1.42e5),  # Bank 2
+        (3e4, 1.37e5)
+    ]
+}
+
+window_100_200_params = {
+    "vanadium_tof_cropping": (1e5, 2.15e5),
+    "focused_cropping_values": [
+        (1e5, 2.02e5),    # Bank 1
+        (9.6e4, 2.18e5),  # Bank 2
+        (1e5, 2.11e5)     # Bank 3
+    ]
 }
 
 file_names = {
@@ -27,23 +52,27 @@ file_names = {
 general_params = {
     "spline_coefficient": 70,
     "focused_bin_widths": [
-        -0.0005,
-        -0.0005,
-        -0.001
-    ]
+        -0.0005,  # Bank 1
+        -0.0005,  # Bank 2
+        -0.001    # Bank 3
+    ],
+    "mode": "coupled"
 }
 
 
-def get_all_adv_variables(is_decoupled_mode=False):
+def get_all_adv_variables(tof_window=HRPD_TOF_WINDOWS.window_10_110):
     advanced_config_dict = {}
     advanced_config_dict.update(file_names)
     advanced_config_dict.update(general_params)
-    advanced_config_dict.update(get_decoupled_mode_dict(decoupled_mode=is_decoupled_mode))
+    advanced_config_dict.update(get_tof_window_dict(tof_window=tof_window))
     return advanced_config_dict
 
 
-def get_decoupled_mode_dict(decoupled_mode):
-    if decoupled_mode:
-        return decoupled_params
-    else:
-        return coupled_params
+def get_tof_window_dict(tof_window):
+    if tof_window == HRPD_TOF_WINDOWS.window_10_110:
+        return window_10_110_params
+    if tof_window == HRPD_TOF_WINDOWS.window_30_130:
+        return window_30_130_params
+    if tof_window == HRPD_TOF_WINDOWS.window_100_200:
+        return window_100_200_params
+    raise RuntimeError("Invalid time-of-flight window: " + str(tof_window))
diff --git a/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_algs.py b/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_algs.py
index e068425185511679e8f6af7db945fd9b8cf8b8cc..af0ca423119411151e025631b95dbbbe1bf25220 100644
--- a/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_algs.py
+++ b/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_algs.py
@@ -72,7 +72,7 @@ def _apply_bragg_peaks_masking(workspaces_to_mask, mask_list):
 def _read_masking_file(masking_file_path):
     all_banks_masking_list = []
     bank_masking_list = []
-    ignore_line_prefixes = (' ', '\n', '\t', '#') # Matches whitespace or # symbol
+    ignore_line_prefixes = (' ', '\n', '\t', '#')  # Matches whitespace or # symbol
     with open(masking_file_path) as mask_file:
         for line in mask_file:
             if line.startswith(ignore_line_prefixes):