diff --git a/RELEASE.txt b/RELEASE.txt index d5319a256..555acc085 100644 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -263,6 +263,36 @@ against any of the libSls*.so libraries, you can enable this by passing Added SLS_USE_SYSTEM_ZMQ option (default OFF) to use the libzmq of the host instead of the one included in our repo. +<<<<<<< HEAD:RELEASE.txt +Experimental support for building the detector client (including python bindings) on macOS +======= +1.1 Compilation Changes +======================== + + +1.2 New or Changed Features +============================ + + Python + ------- + + * receiver ROI can be set from Python using command ``rx_roi``(it supports any sequence of four ints e.g. a tuple (xmin, xmax, ymin, ymax) or a sequence of such for multiple ROIS) + * one can clear all ROI's from Python using command ``rx_clearroi`` + + +1.2.1 Breaking API +=================== + + +1.2.2 Resolved or Changed Features +=================================== + + + +1.2.3 New Features +=================== + +>>>>>>> c8d82909f (Code Review):RELEASE.md 2 On-board Detector Server Compatibility ========================================== diff --git a/python/slsdet/detector.py b/python/slsdet/detector.py index 59b3b2168..625691847 100755 --- a/python/slsdet/detector.py +++ b/python/slsdet/detector.py @@ -309,18 +309,23 @@ class Detector(CppDetectorApi): Note ----- Each ROI is represented as a tuple of (x_start, y_start, x_end, y_end). \n - If no ROIs are configured, returns an empty list. + If no ROIs are configured, returns [[-1,-1,-1,-1]]. """ return self.getRxROI() #vector of Roi structs how represented? @rx_roi.setter def rx_roi(self, rois): - """Sets the list of ROIs in the receiver. + """ + Sets the list of ROIs in the receiver. + Can only set multiple ROIs at multi module level without gap pixels. If more than 1 ROI per + UDP port, it will throw. Setting number of udp interfaces will clear the + roi. Cannot be set for CTB or Xilinx CTB. Note ----- - Each ROI should be represented as a tuple of (x_start, y_start, x_end, y_end). \n - Example: [(0, 100, 50, 100)] \n + Each ROI should be represented as a sequence of 4 ints (x_start, y_start, x_end, y_end). \n + For multiple ROI's pass a sequence of sequence \n + Example: [[0, 100, 50, 100]] \n """ # TODO: maybe better to accept py::object in setRxROI and handle there? if not isinstance(rois, Sequence): @@ -333,6 +338,9 @@ class Detector(CppDetectorApi): else: self.setRxROI(rois) + def rx_clearroi(self): + """Clears all the ROIs configured in the receiver.""" + self.clearRxROI() @property @element diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 515e86a51..830d257dd 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -15,15 +15,11 @@ print(sys.path) from utils_for_test import ( Log, LogLevel, - RuntimeException, cleanup, - startProcessInBackground, startReceiver, startDetectorVirtualServer, - connectToVirtualServers, loadConfig, loadBasicSettings, - runProcessWithLogFile ) def pytest_addoption(parser): diff --git a/python/tests/test_pythonAPI.py b/python/tests/test_pythonAPI.py index 21b5b1d8a..f906c04a4 100644 --- a/python/tests/test_pythonAPI.py +++ b/python/tests/test_pythonAPI.py @@ -18,12 +18,12 @@ def test_rx_ROI(test_with_simulators): assert d.rx_roi == [(5,15,15,25)] - d.rx_roi = [[0,10,0,20], [5,20,410,420]] #needs to be in second module + d.rx_roi = [[0,10,0,20], [5,20,410,420]] roi = d.rx_roi assert roi == [(0,10,0,20), (5,20,410,420)] - d.clear_rx_roi() + d.rx_clearroi() roi = d.rx_roi assert roi == [(-1,-1,-1,-1)]