diff --git a/pyzebra/anatric.py b/pyzebra/anatric.py index 1168afc..c3cf904 100644 --- a/pyzebra/anatric.py +++ b/pyzebra/anatric.py @@ -281,8 +281,8 @@ class AnatricConfig: @aps_window.setter def aps_window(self, value): - for i, coord in enumerate(("x", "y", "z")): - self._set_alg_attr("adaptivemaxcog", "window", coord, value[i]) + for coord in ("x", "y", "z"): + self._set_alg_attr("adaptivemaxcog", "window", coord, value[coord]) # --- adaptivedynamic @property @@ -294,8 +294,8 @@ class AnatricConfig: @adm_window.setter def adm_window(self, value): - for i, coord in enumerate(("x", "y", "z")): - self._set_alg_attr("adaptivedynamic", "window", coord, value[i]) + for coord in ("x", "y", "z"): + self._set_alg_attr("adaptivedynamic", "window", coord, value[coord]) @property def border(self): @@ -306,8 +306,8 @@ class AnatricConfig: @border.setter def border(self, value): - for i, coord in enumerate(("x", "y", "z")): - self._set_alg_attr("adaptivedynamic", "border", coord, value[i]) + for coord in ("x", "y", "z"): + self._set_alg_attr("adaptivedynamic", "border", coord, value[coord]) @property def minWindow(self): @@ -318,8 +318,8 @@ class AnatricConfig: @minWindow.setter def minWindow(self, value): - for i, coord in enumerate(("x", "y", "z")): - self._set_alg_attr("adaptivedynamic", "minWindow", coord, value[i]) + for coord in ("x", "y", "z"): + self._set_alg_attr("adaptivedynamic", "minWindow", coord, value[coord]) @property def reflectionFile(self): diff --git a/pyzebra/app/panel_anatric.py b/pyzebra/app/panel_anatric.py index d9f06ce..31e8234 100644 --- a/pyzebra/app/panel_anatric.py +++ b/pyzebra/app/panel_anatric.py @@ -1,3 +1,5 @@ +import re + from bokeh.layouts import column, row from bokeh.models import Button, Panel, RadioButtonGroup, Select, TextAreaInput, TextInput @@ -35,12 +37,12 @@ def create(): steepness_textinput.value = config.steepness duplicateDistance_textinput.value = config.duplicateDistance maxequal_textinput.value = config.maxequal - aps_window_textinput.value = str(tuple(config.aps_window.values())) + aps_window_textinput.value = str(tuple(map(int, config.aps_window.values()))) elif config.algorithm == "adaptivedynamic": - adm_window_textinput.value = str(tuple(config.adm_window)) - border_textinput.value = str(tuple(config.border)) - minWindow_textinput.value = str(tuple(config.minWindow)) + adm_window_textinput.value = str(tuple(map(int, config.adm_window.values()))) + border_textinput.value = str(tuple(map(int, config.border.values()))) + minWindow_textinput.value = str(tuple(map(int, config.minWindow.values()))) reflectionFile_textinput.value = config.reflectionFile targetMonitor_textinput.value = config.targetMonitor smoothSize_textinput.value = config.smoothSize @@ -232,7 +234,7 @@ def create(): # ---- window def aps_window_textinput_callback(_attr, _old, new): - config.aps_window = new + config.aps_window = dict(zip(("x", "y", "z"), re.findall(r"\b\d+\b", new))) aps_window_textinput = TextInput(title="Window") aps_window_textinput.on_change("value", aps_window_textinput_callback) @@ -240,21 +242,21 @@ def create(): # Adaptive Dynamic Mask Integration (adaptivedynamic) # ---- window def adm_window_textinput_callback(_attr, _old, new): - config.adm_window = new + config.adm_window = dict(zip(("x", "y", "z"), re.findall(r"\b\d+\b", new))) adm_window_textinput = TextInput(title="Window") adm_window_textinput.on_change("value", adm_window_textinput_callback) # ---- border def border_textinput_callback(_attr, _old, new): - config.border = new + config.border = dict(zip(("x", "y", "z"), re.findall(r"\b\d+\b", new))) border_textinput = TextInput(title="Border") border_textinput.on_change("value", border_textinput_callback) # ---- minWindow def minWindow_textinput_callback(_attr, _old, new): - config.minWindow = new + config.minWindow = dict(zip(("x", "y", "z"), re.findall(r"\b\d+\b", new))) minWindow_textinput = TextInput(title="Min Window") minWindow_textinput.on_change("value", minWindow_textinput_callback)