def doSuccessWaitFile(self, _edPlugin=None): with self.locked(): self.DEBUG("EDPluginWaitMultiFile.doSuccessWaitFile") self.retrieveSuccessMessages( _edPlugin, "EDPluginWaitMultiFile.doSuccessWaitFile") xsdFile = _edPlugin.dataOutput.actualFile if _edPlugin.dataOutput.getActualSize() is None: self.WARNING("Wait for file %s finished in timeout!" % _edPlugin.dataInput.expectedFile.path.value) self.DEBUG("Please check why XSDataResultWaitFile is:\n%s" % _edPlugin.dataOutput.marshal()) self.DEBUG( "This usually happens when EDPluginWaitFile has no configuration file or EDNA_SITE is undefined" ) self.setFailure() else: self.__filesize.append(_edPlugin.dataOutput.actualSize.value) if _edPlugin.dataOutput.timedOut.value: self.__bAnyTimeOut = True if xsdFile is not None: xsdiAccumulator = XSDataInputAccumulator() xsdiAccumulator.setItem([xsdFile.path ]) #Mandatory to be a list !!! edPluginAccumulator = self.loadPlugin( self.__strControlledPluginAccumulator) edPluginAccumulator.setDataInput(xsdiAccumulator) edPluginAccumulator.connectSUCCESS( self.doSuccessAccumulator) edPluginAccumulator.connectFAILURE( self.doFailureAccumulator) edPluginAccumulator.execute()
def preProcess(self): """ PreProcess of the execution test: download an EDF file from http://www.edna-site.org """ EDTestCasePluginExecuteControlMedianFilterImagev1_0.preProcess(self) self.loadTestImage([ "noise2.edf", "noise3.edf", "noise4.edf", "noise5.edf", "noise6.edf"]) acc = EDFactoryPluginStatic.loadPlugin("EDPluginAccumulatorv1_0") xsdIn = XSDataInputAccumulator() xsdIn.setItem([XSDataString(os.path.join(self.getTestsDataImagesHome(), "noise%i.edf" % i)) for i in [2, 3, 5, 6]]) acc.setDataInput(xsdIn) acc.executeSynchronous()
def process(self, _edObject=None): EDPluginControl.process(self) self.DEBUG("EDPluginControlAlignStackv1_0.process") for iFrame in self.iFrames: edPluginExecAccumulator = self.loadPlugin(self.__strControlledPluginAccumulator) queryRaw = XSDataQuery() queryShift = XSDataQuery() queryRaw.setRemoveItems(XSDataBoolean(False)) queryShift.setRemoveItems(XSDataBoolean(False)) xsdataAcc = XSDataInputAccumulator() if (EDPluginControlAlignStackv1_0.__iRefFrame == iFrame) or (self.bDoAlign == False) : EDPluginControlAlignStackv1_0.__dictAbsShift[iFrame] = (0.0, 0.0) EDPluginControlAlignStackv1_0.__dictRelShift[iFrame] = (0.0, 0.0) self.hdf5_offset(index=iFrame, offset=[0.0, 0.0]) edPluginExecShift = self.loadPlugin(self.__strControlledPluginShift) xsdata = XSDataInputShiftImage(index=XSDataInteger(iFrame), offset=[XSDataDouble(i) for i in EDPluginControlAlignStackv1_0.__dictAbsShift[iFrame]], inputImage=self.getFrameRef(iFrame), outputImage=XSDataImageExt(shared=XSDataString("Shifted-%06i" % iFrame))) edPluginExecShift.setDataInput(xsdata) edPluginExecShift.connectSUCCESS(self.doSuccessExecShiftImage) edPluginExecShift.connectFAILURE(self.doFailureExecShiftImage) self.queue.put(edPluginExecShift) if (self.bDoAlign == False): self.executeControlledPlugins() return elif EDPluginControlAlignStackv1_0.__iRefFrame < iFrame: if self.bAlwaysMOvsRef: queryRaw.setItem([XSDataString("raw %04i" % (EDPluginControlAlignStackv1_0.__iRefFrame)), XSDataString("raw %04i" % iFrame)]) xsdataAcc.setQuery([queryRaw]) else: queryRaw.setItem([XSDataString("raw %04i" % (iFrame - 1)), XSDataString("raw %04i" % iFrame)]) queryShift.setItem([XSDataString("shift %04i" % i) for i in range(EDPluginControlAlignStackv1_0.__iRefFrame + 1, iFrame + 1)]) xsdataAcc.setQuery([queryRaw, queryShift]) elif EDPluginControlAlignStackv1_0.__iRefFrame > iFrame: if self.bAlwaysMOvsRef: queryRaw.setItem([ XSDataString("raw %04i" % iFrame), XSDataString("raw %04i" % (EDPluginControlAlignStackv1_0.__iRefFrame))]) xsdataAcc.setQuery([queryRaw]) else: queryRaw.setItem([XSDataString("raw %04i" % (iFrame + 1)), XSDataString("raw %04i" % iFrame)]) queryShift.setItem([XSDataString("shift %04i" % i) for i in range(EDPluginControlAlignStackv1_0.__iRefFrame - 1, iFrame - 1, -1)]) xsdataAcc.setQuery([queryRaw, queryShift]) if (EDPluginControlAlignStackv1_0.__iRefFrame == iFrame): self.saveReferenceFrame(iFrame) xsdataAcc.setItem([XSDataString("raw %04i" % iFrame)]) edPluginExecAccumulator.setDataInput(xsdataAcc) edPluginExecAccumulator.connectSUCCESS(self.doSuccessExecAccumultor) edPluginExecAccumulator.connectFAILURE(self.doFailureExecAccumulator) self.queue.put(edPluginExecAccumulator) self.executeControlledPlugins()
def preProcess(self, _edObject=None): EDPluginControl.preProcess(self) self.DEBUG("EDPluginControlMedianFilterImagev1_0.preProcess") # Load the execution plugin self.__edPluginExecAccumulator = self.loadPlugin(self.__strControlledPluginAccumulator) self.image = os.path.abspath(self.getDataInput().getInputImage().getPath().getValue()) self.width = self.getDataInput().getFilterWidth().getValue() if self.getDataInput().getMedianFilteredImage() is not None: self.outputImage = os.path.abspath(self.getDataInput().getMedianFilteredImage().getPath().getValue()) xsdAcc = XSDataInputAccumulator() xsdAcc.setQuery([self.prepareQuery(self.image, self.width)]) xsdAcc.setItem([XSDataString(self.image)]) self.__edPluginExecAccumulator.setDataInput(xsdAcc)
def preProcess(self, _edObject=None): EDPluginControl.preProcess(self) self.DEBUG("EDPluginControlMedianFilterImagev1_0.preProcess") # Load the execution plugin self.__edPluginExecAccumulator = self.loadPlugin( self.__strControlledPluginAccumulator) self.image = os.path.abspath( self.getDataInput().getInputImage().getPath().getValue()) self.width = self.getDataInput().getFilterWidth().getValue() if self.getDataInput().getMedianFilteredImage() is not None: self.outputImage = os.path.abspath(self.getDataInput( ).getMedianFilteredImage().getPath().getValue()) xsdAcc = XSDataInputAccumulator() xsdAcc.setQuery([self.prepareQuery(self.image, self.width)]) xsdAcc.setItem([XSDataString(self.image)]) self.__edPluginExecAccumulator.setDataInput(xsdAcc)
def preProcess(self): """ PreProcess of the execution test: download an EDF file from http://www.edna-site.org """ EDTestCasePluginExecuteControlMedianFilterImagev1_0.preProcess(self) self.loadTestImage([ "noise2.edf", "noise3.edf", "noise4.edf", "noise5.edf", "noise6.edf" ]) acc = EDFactoryPluginStatic.loadPlugin("EDPluginAccumulatorv1_0") xsdIn = XSDataInputAccumulator() xsdIn.setItem([ XSDataString( os.path.join(self.getTestsDataImagesHome(), "noise%i.edf" % i)) for i in [2, 3, 5, 6] ]) acc.setDataInput(xsdIn) acc.executeSynchronous()
def doSuccessWaitFile(self, _edPlugin=None): with self.locked(): self.DEBUG("EDPluginWaitMultiFile.doSuccessWaitFile") self.retrieveSuccessMessages(_edPlugin, "EDPluginWaitMultiFile.doSuccessWaitFile") xsdFile = _edPlugin.dataOutput.actualFile if _edPlugin.dataOutput.getActualSize() is None: self.WARNING("Wait for file %s finished in timeout!" % _edPlugin.dataInput.expectedFile.path.value) self.DEBUG("Please check why XSDataResultWaitFile is:\n%s" % _edPlugin.dataOutput.marshal()) self.DEBUG("This usually happens when EDPluginWaitFile has no configuration file or EDNA_SITE is undefined") self.setFailure() else: self.__filesize.append(_edPlugin.dataOutput.actualSize.value) if _edPlugin.dataOutput.timedOut.value: self.__bAnyTimeOut = True if xsdFile is not None: xsdiAccumulator = XSDataInputAccumulator() xsdiAccumulator.setItem([xsdFile.path]) #Mandatory to be a list !!! edPluginAccumulator = self.loadPlugin(self.__strControlledPluginAccumulator) edPluginAccumulator.setDataInput(xsdiAccumulator) edPluginAccumulator.connectSUCCESS(self.doSuccessAccumulator) edPluginAccumulator.connectFAILURE(self.doFailureAccumulator) edPluginAccumulator.execute()
def process(self, _edObject=None): EDPluginControl.process(self) self.DEBUG("EDPluginControlAlignStackv1_0.process") for iFrame in self.iFrames: edPluginExecAccumulator = self.loadPlugin( self.__strControlledPluginAccumulator) queryRaw = XSDataQuery() queryShift = XSDataQuery() queryRaw.setRemoveItems(XSDataBoolean(False)) queryShift.setRemoveItems(XSDataBoolean(False)) xsdataAcc = XSDataInputAccumulator() if (EDPluginControlAlignStackv1_0.__iRefFrame == iFrame) or (self.bDoAlign == False): EDPluginControlAlignStackv1_0.__dictAbsShift[iFrame] = (0.0, 0.0) EDPluginControlAlignStackv1_0.__dictRelShift[iFrame] = (0.0, 0.0) self.hdf5_offset(index=iFrame, offset=[0.0, 0.0]) edPluginExecShift = self.loadPlugin( self.__strControlledPluginShift) xsdata = XSDataInputShiftImage( index=XSDataInteger(iFrame), offset=[ XSDataDouble(i) for i in EDPluginControlAlignStackv1_0.__dictAbsShift[iFrame] ], inputImage=self.getFrameRef(iFrame), outputImage=XSDataImageExt( shared=XSDataString("Shifted-%06i" % iFrame))) edPluginExecShift.setDataInput(xsdata) edPluginExecShift.connectSUCCESS(self.doSuccessExecShiftImage) edPluginExecShift.connectFAILURE(self.doFailureExecShiftImage) self.queue.put(edPluginExecShift) if (self.bDoAlign == False): self.executeControlledPlugins() return elif EDPluginControlAlignStackv1_0.__iRefFrame < iFrame: if self.bAlwaysMOvsRef: queryRaw.setItem([ XSDataString( "raw %04i" % (EDPluginControlAlignStackv1_0.__iRefFrame)), XSDataString("raw %04i" % iFrame) ]) xsdataAcc.setQuery([queryRaw]) else: queryRaw.setItem([ XSDataString("raw %04i" % (iFrame - 1)), XSDataString("raw %04i" % iFrame) ]) queryShift.setItem([ XSDataString("shift %04i" % i) for i in range( EDPluginControlAlignStackv1_0.__iRefFrame + 1, iFrame + 1) ]) xsdataAcc.setQuery([queryRaw, queryShift]) elif EDPluginControlAlignStackv1_0.__iRefFrame > iFrame: if self.bAlwaysMOvsRef: queryRaw.setItem([ XSDataString("raw %04i" % iFrame), XSDataString( "raw %04i" % (EDPluginControlAlignStackv1_0.__iRefFrame)) ]) xsdataAcc.setQuery([queryRaw]) else: queryRaw.setItem([ XSDataString("raw %04i" % (iFrame + 1)), XSDataString("raw %04i" % iFrame) ]) queryShift.setItem([ XSDataString("shift %04i" % i) for i in range( EDPluginControlAlignStackv1_0.__iRefFrame - 1, iFrame - 1, -1) ]) xsdataAcc.setQuery([queryRaw, queryShift]) if (EDPluginControlAlignStackv1_0.__iRefFrame == iFrame): self.saveReferenceFrame(iFrame) xsdataAcc.setItem([XSDataString("raw %04i" % iFrame)]) edPluginExecAccumulator.setDataInput(xsdataAcc) edPluginExecAccumulator.connectSUCCESS( self.doSuccessExecAccumultor) edPluginExecAccumulator.connectFAILURE( self.doFailureExecAccumulator) self.queue.put(edPluginExecAccumulator) self.executeControlledPlugins()