Skip to content
Snippets Groups Projects
Commit d2c2ec83 authored by Joao P C Bertoldo's avatar Joao P C Bertoldo
Browse files

implement first attempt with shared memory

parent a715880b
No related branches found
No related tags found
1 merge request!6Draft: Resolve "py-bkg-rm"
......@@ -56,12 +56,11 @@ class RemoveZmovingMedian(OWWidget):
resizing_enabled = True
class Inputs:
data = Input("data", ndarray)
multiprocessing_array = Input("multiprocessing_array", _ctypes.Array)
shared_data = Input("shared_data", tuple) # todo document this properly
# Tuple[ndarray, RawArray]
class Outputs:
data = Output("data", ndarray)
multiprocessing_array = Output("multiprocessing_array", _ctypes.Array)
shared_data = Output("shared_data", tuple) # todo document this properly
backgrounds = Output("backgrounds", ndarray)
median_window = Setting(500, schema_only=True)
......@@ -103,14 +102,9 @@ class RemoveZmovingMedian(OWWidget):
self.run_button = gui.button(widget=self.controlArea, master=self, label="go", callback=self._run)
self.run_button.setDisabled(True)
@Inputs.data
def set_data(self, data):
self.data = data
self._on_input_change()
@Inputs.multiprocessing_array
def set_data(self, multiprocessing_array):
self.multiprocessing_array = multiprocessing_array
@Inputs.shared_data
def set_shared_data(self, shared_data):
self.data, self.multiprocessing_array = shared_data
self._on_input_change()
def _on_input_change(self):
......@@ -167,8 +161,9 @@ class RemoveZmovingMedian(OWWidget):
if self._thread.data_normalized is not None and self._thread.backgrounds is not None:
self.Outputs.data.send(self._thread.data_normalized)
self.Outputs.multiprocessing_array.send(self.multiprocessing_array)
self.Outputs.shared_data.send(
(self._thread.data_normalized, self.multiprocessing_array)
)
self.Outputs.backgrounds.send(self._thread.backgrounds)
self.information("done")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment