def fileName2xml(self, filename): """Here we create the XML string to be passed to the EDNA plugin from the input filename This can / should be modified by the final user @param filename: full path of the input file @type filename: python string representing the path @rtype: XML string @return: python string """ basename = list(os.path.splitext(os.path.basename(filename))[0]) basename.reverse() number = "" for i in basename: if i.isdigit(): number = i + number else: break if self.hdfFile is None: self.hdfFile = os.path.splitext(filename)[0][:-len(number)] + ".h5" xsd = XSDataInputHDF5StackImages(index=[XSDataInteger(self.index)], HDF5File=XSDataFile(XSDataString(self.hdfFile)), internalHDF5Path=XSDataString("RawStack"), inputImageFile=[XSDataImageExt(path=XSDataString(filename))] ) # inputArray=[EDUtilsArray.arrayToXSData(fabio.open(filename).data)]) self.dict[self.index] = filename self.index += 1 return xsd.marshal()
def doSuccessExecShiftImage(self, _edPlugin=None): with self.semShift: edPluginExecHDF5 = self.loadPlugin(self.__strControlledPluginHDF5) self.DEBUG("EDPluginControlAlignStackv1_0.doSuccessExecShiftImage") self.retrieveSuccessMessages( _edPlugin, "EDPluginControlAlignStackv1_0.doSuccessExecShiftImage") xsdIdx = _edPlugin.dataInput.index self.__class__.MaxOffset = _edPlugin.MAX_OFFSET_VALUE self.hdf5_offset( index=xsdIdx.value, offset=[i.value for i in _edPlugin.dataInput.offset]) xsdata = XSDataInputHDF5StackImages( chunkSegmentation=XSDataInteger(32), forceDtype=XSDataString("float32"), extraAttributes=self.hdf5ExtraAttributes, internalHDF5Path=self.xsdHDF5Internal, HDF5File=self.xsdHDF5File, index=[xsdIdx], inputImageFile=[_edPlugin.dataOutput.outputImage]) # inputArray=[_edPlugin.dataOutput.outputArray]) edPluginExecHDF5.setDataInput(xsdata) edPluginExecHDF5.connectSUCCESS(self.doSuccessExecStackHDF5) edPluginExecHDF5.connectFAILURE(self.doFailureExecStackHDF5) self.queue.put(edPluginExecHDF5)
def testCheckParameters(self): xsDataInput = XSDataInputHDF5StackImages( HDF5File=XSDataFile(), internalHDF5Path=XSDataString(), inputImageFile=[XSDataImage()]) edPluginExecHDF5StackImages = self.createPlugin() edPluginExecHDF5StackImages.setDataInput(xsDataInput) edPluginExecHDF5StackImages.checkParameters()