Simplify setters of algorithm params

This commit is contained in:
usov_i 2020-07-22 23:46:21 +02:00
parent a4a00f1b67
commit 899622261b

View File

@ -209,6 +209,14 @@ class AnatricConfig:
return None return None
return param_elem.attrib[attr] return param_elem.attrib[attr]
def _set_alg_attr(self, alg, tag, attr, value):
alg_elem = self._alg_elems[alg]
param_elem = alg_elem.find(tag)
if param_elem is None:
alg_elem.append(ET.Element(tag, attrib={attr: value}))
else:
param_elem.attrib[attr] = value
# --- adaptivemaxcog # --- adaptivemaxcog
@property @property
def threshold(self): def threshold(self):
@ -216,12 +224,7 @@ class AnatricConfig:
@threshold.setter @threshold.setter
def threshold(self, value): def threshold(self, value):
alg_elem = self._alg_elems["adaptivemaxcog"] self._set_alg_attr("adaptivemaxcog", "threshold", "value", value)
param_elem = alg_elem.find("threshold")
if param_elem is None:
alg_elem.append(ET.Element("threshold", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def shell(self): def shell(self):
@ -229,12 +232,7 @@ class AnatricConfig:
@shell.setter @shell.setter
def shell(self, value): def shell(self, value):
alg_elem = self._alg_elems["adaptivemaxcog"] self._set_alg_attr("adaptivemaxcog", "shell", "value", value)
param_elem = alg_elem.find("shell")
if param_elem is None:
alg_elem.append(ET.Element("shell", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def steepness(self): def steepness(self):
@ -242,12 +240,7 @@ class AnatricConfig:
@steepness.setter @steepness.setter
def steepness(self, value): def steepness(self, value):
alg_elem = self._alg_elems["adaptivemaxcog"] self._set_alg_attr("adaptivemaxcog", "steepness", "value", value)
param_elem = alg_elem.find("steepness")
if param_elem is None:
alg_elem.append(ET.Element("steepness", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def duplicateDistance(self): def duplicateDistance(self):
@ -255,12 +248,7 @@ class AnatricConfig:
@duplicateDistance.setter @duplicateDistance.setter
def duplicateDistance(self, value): def duplicateDistance(self, value):
alg_elem = self._alg_elems["adaptivemaxcog"] self._set_alg_attr("adaptivemaxcog", "duplicateDistance", "value", value)
param_elem = alg_elem.find("duplicateDistance")
if param_elem is None:
alg_elem.append(ET.Element("duplicateDistance", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def maxequal(self): def maxequal(self):
@ -268,12 +256,7 @@ class AnatricConfig:
@maxequal.setter @maxequal.setter
def maxequal(self, value): def maxequal(self, value):
alg_elem = self._alg_elems["adaptivemaxcog"] self._set_alg_attr("adaptivemaxcog", "maxequal", "value", value)
param_elem = alg_elem.find("maxequal")
if param_elem is None:
alg_elem.append(ET.Element("maxequal", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def aps_window(self): def aps_window(self):
@ -284,12 +267,8 @@ class AnatricConfig:
@aps_window.setter @aps_window.setter
def aps_window(self, value): def aps_window(self, value):
alg_elem = self._alg_elems["adaptivemaxcog"] for i, coord in enumerate(("x", "y", "z")):
param_elem = alg_elem.find("window") self._set_alg_attr("adaptivemaxcog", "window", coord, value[i])
if param_elem is None:
alg_elem.append(ET.Element("window", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
# --- adaptivedynamic # --- adaptivedynamic
@property @property
@ -301,12 +280,8 @@ class AnatricConfig:
@adm_window.setter @adm_window.setter
def adm_window(self, value): def adm_window(self, value):
alg_elem = self._alg_elems["adaptivedynamic"] for i, coord in enumerate(("x", "y", "z")):
param_elem = alg_elem.find("window") self._set_alg_attr("adaptivedynamic", "window", coord, value[i])
if param_elem is None:
alg_elem.append(ET.Element("window", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def border(self): def border(self):
@ -317,12 +292,8 @@ class AnatricConfig:
@border.setter @border.setter
def border(self, value): def border(self, value):
alg_elem = self._alg_elems["adaptivedynamic"] for i, coord in enumerate(("x", "y", "z")):
param_elem = alg_elem.find("border") self._set_alg_attr("adaptivedynamic", "border", coord, value[i])
if param_elem is None:
alg_elem.append(ET.Element("border", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def minWindow(self): def minWindow(self):
@ -333,12 +304,8 @@ class AnatricConfig:
@minWindow.setter @minWindow.setter
def minWindow(self, value): def minWindow(self, value):
alg_elem = self._alg_elems["adaptivedynamic"] for i, coord in enumerate(("x", "y", "z")):
param_elem = alg_elem.find("minWindow") self._set_alg_attr("adaptivedynamic", "minWindow", coord, value[i])
if param_elem is None:
alg_elem.append(ET.Element("minWindow", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def reflectionFile(self): def reflectionFile(self):
@ -346,12 +313,7 @@ class AnatricConfig:
@reflectionFile.setter @reflectionFile.setter
def reflectionFile(self, value): def reflectionFile(self, value):
alg_elem = self._alg_elems["adaptivedynamic"] self._set_alg_attr("adaptivedynamic", "reflectionFile", "filename", value)
param_elem = alg_elem.find("reflectionFile")
if param_elem is None:
alg_elem.append(ET.Element("reflectionFile", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def targetMonitor(self): def targetMonitor(self):
@ -359,12 +321,7 @@ class AnatricConfig:
@targetMonitor.setter @targetMonitor.setter
def targetMonitor(self, value): def targetMonitor(self, value):
alg_elem = self._alg_elems["adaptivedynamic"] self._set_alg_attr("adaptivedynamic", "targetMonitor", "filename", value)
param_elem = alg_elem.find("targetMonitor")
if param_elem is None:
alg_elem.append(ET.Element("targetMonitor", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def smoothSize(self): def smoothSize(self):
@ -372,12 +329,7 @@ class AnatricConfig:
@smoothSize.setter @smoothSize.setter
def smoothSize(self, value): def smoothSize(self, value):
alg_elem = self._alg_elems["adaptivedynamic"] self._set_alg_attr("adaptivedynamic", "smoothSize", "filename", value)
param_elem = alg_elem.find("smoothSize")
if param_elem is None:
alg_elem.append(ET.Element("smoothSize", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def loop(self): def loop(self):
@ -385,12 +337,7 @@ class AnatricConfig:
@loop.setter @loop.setter
def loop(self, value): def loop(self, value):
alg_elem = self._alg_elems["adaptivedynamic"] self._set_alg_attr("adaptivedynamic", "loop", "filename", value)
param_elem = alg_elem.find("loop")
if param_elem is None:
alg_elem.append(ET.Element("loop", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def minPeakCount(self): def minPeakCount(self):
@ -398,12 +345,7 @@ class AnatricConfig:
@minPeakCount.setter @minPeakCount.setter
def minPeakCount(self, value): def minPeakCount(self, value):
alg_elem = self._alg_elems["adaptivedynamic"] self._set_alg_attr("adaptivedynamic", "minPeakCount", "filename", value)
param_elem = alg_elem.find("minPeakCount")
if param_elem is None:
alg_elem.append(ET.Element("minPeakCount", attrib={"value": value}))
else:
param_elem.attrib["value"] = value
@property @property
def displacementCurve(self): def displacementCurve(self):