Beispiel #1
0
 def test_execute_all(self, qtbot, sum_op, square_op, negative_op):
     results = [{"negative": (1 + 2) ** 2 * -1},
                {"negative": (3 + 4) ** 2 * -1},
                {"negative": (5 + 6) ** 2 * -1}]
     def cb(*result):
         next_result = results.pop(0)
         assert result == next_result
     workflow = Workflow()
     workflow.add_operations(sum_op, square_op, negative_op)
     workflow.add_link(sum_op, square_op, "sum", "n")
     workflow.add_link(square_op, negative_op, "square", "num")
     n1_values = [1, 3, 5]
     n2_values = [2, 4, 6]
     # TODO -- we are only getting one result, should get three (3 pairs of n1/n2).
     workflow.execute_all(callback_slot=cb, n1=n1_values, n2=n2_values).result()
Beispiel #2
0
    def doReduceWorkflow(self, workflow: Workflow):
        multimode = self.reduceplot.toolbar.multiplot.isChecked()
        currentwidget = self.reducetabview.currentWidget()
        data = currentwidget.header.meta_array('primary')
        if not multimode:
            data = [data[currentwidget.timeIndex(currentwidget.timeLine)[0]]]
        ai = self.calibrationsettings.AI('pilatus2M')
        ai.detector = detectors.Pilatus2M()
        ai = [ai] * len(data)
        mask = [self.maskingworkflow.lastresult[0]['mask'].value if self.maskingworkflow.lastresult else None] * len(
            data)
        outputwidget = self.reduceplot
        outputwidget.clear()

        def showReduce(*results):
            outputwidget.appendResult(results)

        workflow.execute_all(None, data=data, ai=ai, mask=mask, callback_slot=showReduce, threadkey='reduce')
Beispiel #3
0
 def test_execute_all(self, sum_op, square_op, negative_op):
     workflow = Workflow()
     workflow.add_operations(sum_op, square_op, negative_op)
     workflow.add_link(sum_op, square_op, "sum", "n")
     workflow.add_link(square_op, negative_op, "square", "num")
     n1_values = [1, 3, 5]
     n2_values = [2, 4, 6]
     # TODO -- we are only getting one result, should get three (3 pairs of n1/n2).
     results = list(
         workflow.execute_all(n1=n1_values, n2=n2_values).result())
     assert results == [{
         "negative": (1 + 2)**2 * -1
     }, {
         "negative": (3 + 4)**2 * -1
     }, {
         "negative": (5 + 6)**2 * -1
     }]