From 5e8f4e6a210453718047d7647d49cb1d2bb0682a Mon Sep 17 00:00:00 2001 From: payno Date: Fri, 30 Nov 2018 09:05:54 +0100 Subject: [PATCH] [orange add-on][roiselection] add Setting --- .../id06workflow/widgets/roiselection.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/orangecontrib/id06workflow/widgets/roiselection.py b/orangecontrib/id06workflow/widgets/roiselection.py index 43c42fb..3c2f213 100644 --- a/orangecontrib/id06workflow/widgets/roiselection.py +++ b/orangecontrib/id06workflow/widgets/roiselection.py @@ -33,7 +33,7 @@ from silx.gui import qt from Orange.canvas.registry.description import InputSignal, OutputSignal from Orange.widgets import gui from Orange.widgets.widget import OWWidget - +from Orange.widgets.settings import Setting from id06workflow.core.experiment import Experiment from id06workflow.core.operation.roi import RoiOperation from id06workflow.gui.roiselection import ROIOnStackView @@ -63,6 +63,9 @@ class RoiSelectionOW(OWWidget): resizing_enabled = True compress_signal = False + _roi_origin = Setting(tuple()) + _roi_size = Setting(tuple()) + def __init__(self): super().__init__() @@ -83,6 +86,11 @@ class RoiSelectionOW(OWWidget): # expose API self.setROI = self._widget.setROI + if len(self._roi_size) is 2: + self._widget.getROI().setSize(size=self._roi_size) + if len(self._roi_origin) is 2: + self._widget.getROI().setOrigin(self._roi_origin) + def _process(self, experiment): if experiment.dataset is None or experiment.dataset.is_valid() is False: _logger.warning('cannot process roi selection, need a valid dataset for this') @@ -116,3 +124,11 @@ class RoiSelectionOW(OWWidget): else: OWWidget.accept(self) # TODO: what can be the image to send to show roi selection (z sum ?) + + def updateProperties(self): + # as dim are named tuple we have to cast them to dict + self._roi_origin = tuple(self._widget.getROI().getOrigin()) + self._roi_size = tuple(self._widget.getROI().getSize()) + + print(self._roi_origin) + print(self._roi_size) -- GitLab