diff --git a/pyzebra/anatric.py b/pyzebra/anatric.py index ddd4e34..aceae0c 100644 --- a/pyzebra/anatric.py +++ b/pyzebra/anatric.py @@ -37,27 +37,8 @@ class AnatricConfig: self._alg_elems[self.algorithm] = self._tree.find("Algorithm") - alg_elem = self._tree.find("Algorithm") - if self.algorithm == "adaptivemaxcog": - self.threshold = float(alg_elem.find("threshold").attrib["value"]) - self.shell = float(alg_elem.find("shell").attrib["value"]) - self.steepness = float(alg_elem.find("steepness").attrib["value"]) - self.duplicateDistance = float(alg_elem.find("duplicateDistance").attrib["value"]) - self.maxequal = float(alg_elem.find("maxequal").attrib["value"]) - # self.apd_window = float(alg_elem.find("window").attrib["value"]) - - elif self.algorithm == "adaptivedynamic": - # self.admi_window = float(alg_elem.find("window").attrib["value"]) - # self.border = float(alg_elem.find("border").attrib["value"]) - # self.minWindow = float(alg_elem.find("minWindow").attrib["value"]) - # self.reflectionFile = float(alg_elem.find("reflectionFile").attrib["value"]) - self.targetMonitor = float(alg_elem.find("targetMonitor").attrib["value"]) - self.smoothSize = float(alg_elem.find("smoothSize").attrib["value"]) - self.loop = float(alg_elem.find("loop").attrib["value"]) - self.minPeakCount = float(alg_elem.find("minPeakCount").attrib["value"]) - # self.displacementCurve = float(alg_elem.find("threshold").attrib["value"]) - else: - raise ValueError("Unknown processing mode.") + def save_as(self, filename): + self._tree.write(filename) @property def logfile(self): @@ -222,5 +203,124 @@ class AnatricConfig: self._root.remove(self._tree.find("Algorithm")) self._root.append(self._alg_elems[value]) - def save_as(self, filename): - self._tree.write(filename) + # --- adaptivemaxcog + @property + def threshold(self): + return self._alg_elems["adaptivemaxcog"].find("threshold").attrib["value"] + + @threshold.setter + def threshold(self, value): + self._alg_elems["adaptivemaxcog"].find("threshold").attrib["value"] = value + + @property + def shell(self): + return self._alg_elems["adaptivemaxcog"].find("shell").attrib["value"] + + @shell.setter + def shell(self, value): + self._alg_elems["adaptivemaxcog"].find("shell").attrib["value"] = value + + @property + def steepness(self): + return self._alg_elems["adaptivemaxcog"].find("steepness").attrib["value"] + + @steepness.setter + def steepness(self, value): + self._alg_elems["adaptivemaxcog"].find("steepness").attrib["value"] = value + + @property + def duplicateDistance(self): + return self._alg_elems["adaptivemaxcog"].find("duplicateDistance").attrib["value"] + + @duplicateDistance.setter + def duplicateDistance(self, value): + self._alg_elems["adaptivemaxcog"].find("duplicateDistance").attrib["value"] = value + + @property + def maxequal(self): + return self._alg_elems["adaptivemaxcog"].find("maxequal").attrib["value"] + + @maxequal.setter + def maxequal(self, value): + self._alg_elems["adaptivemaxcog"].find("maxequal").attrib["value"] = value + + @property + def aps_window(self): + return self._alg_elems["adaptivemaxcog"].find("window").attrib["value"] + + @aps_window.setter + def aps_window(self, value): + self._alg_elems["adaptivemaxcog"].find("window").attrib["value"] = value + + # --- adaptivedynamic + @property + def adm_window(self): + return self._alg_elems["adaptivedynamic"].find("window").attrib["value"] + + @adm_window.setter + def adm_window(self, value): + self._alg_elems["adaptivedynamic"].find("window").attrib["value"] = value + + @property + def border(self): + return self._alg_elems["adaptivedynamic"].find("border").attrib["value"] + + @border.setter + def border(self, value): + self._alg_elems["adaptivedynamic"].find("border").attrib["value"] = value + + @property + def minWindow(self): + return self._alg_elems["adaptivedynamic"].find("minWindow").attrib["value"] + + @minWindow.setter + def minWindow(self, value): + self._alg_elems["adaptivedynamic"].find("minWindow").attrib["value"] = value + + @property + def reflectionFile(self): + return self._alg_elems["adaptivedynamic"].find("reflectionFile").attrib["value"] + + @reflectionFile.setter + def reflectionFile(self, value): + self._alg_elems["adaptivedynamic"].find("reflectionFile").attrib["value"] = value + + @property + def targetMonitor(self): + return self._alg_elems["adaptivedynamic"].find("targetMonitor").attrib["value"] + + @targetMonitor.setter + def targetMonitor(self, value): + self._alg_elems["adaptivedynamic"].find("targetMonitor").attrib["value"] = value + + @property + def smoothSize(self): + return self._alg_elems["adaptivedynamic"].find("smoothSize").attrib["value"] + + @smoothSize.setter + def smoothSize(self, value): + self._alg_elems["adaptivedynamic"].find("smoothSize").attrib["value"] = value + + @property + def loop(self): + return self._alg_elems["adaptivedynamic"].find("loop").attrib["value"] + + @loop.setter + def loop(self, value): + self._alg_elems["adaptivedynamic"].find("loop").attrib["value"] = value + + @property + def minPeakCount(self): + return self._alg_elems["adaptivedynamic"].find("minPeakCount").attrib["value"] + + @minPeakCount.setter + def minPeakCount(self, value): + self._alg_elems["adaptivedynamic"].find("minPeakCount").attrib["value"] = value + + @property + def displacementCurve(self): + return self._alg_elems["adaptivedynamic"].find("displacementCurve").attrib["value"] + + @displacementCurve.setter + def displacementCurve(self, value): + self._alg_elems["adaptivedynamic"].find("displacementCurve").attrib["value"] = value