コード例 #1
0
    def process(self, _edObject=None):
        EDPluginControl.process(self)
        self.DEBUG("EDPluginBioSaxsReduceFileSeriev1_0.process")

        if self.bSkipProcess:
            return


        for oneRaw, oneCor, oneInt, oneCrv, oneLog in zip(self.lstRawImg, self.lstCorImg, self.lstIntImg, self.lstIntCrv, self.lstLogFil):
            pluginProcessOneFile = self.loadPlugin(self.__strControlledPluginProcessOneFile)
            xsd = XSDataInputBioSaxsProcessOneFilev1_0(integratedCurve=oneCrv,
                                                       integratedImage=oneInt,
                                                       normalizedImage=oneCor,
                                                       rawImageSize=self.rawImageSize,
                                                       experimentSetup=self.experimentSetup,
                                                       sample=self.sample,
                                                       rawImage=oneRaw,
                                                       logFile=oneLog)
            pluginProcessOneFile.dataInput = xsd
            pluginProcessOneFile.connectSUCCESS(self.doSuccessExecProcessOneFile)
            pluginProcessOneFile.connectFAILURE(self.doFailureExecProcessOneFile)
            pluginProcessOneFile.execute()

        self.synchronizePlugins()
        self.lstCurves.sort()
        xsdMerge = XSDataInputBioSaxsSmartMergev1_0()
        xsdMerge.absoluteFidelity = self.dataInput.absoluteFidelity
        xsdMerge.relativeFidelity = self.dataInput.relativeFidelity
        xsdMerge.inputCurves = [XSDataFile(XSDataString(i)) for i in self.lstCurves]
        xsdMerge.mergedCurve = XSDataFile(XSDataString(self.strMergedCurve))
        edPluginExecSmartMerge = self.loadPlugin(self.__strControlledPluginSmartMerge)
        edPluginExecSmartMerge.dataInput = xsdMerge
        edPluginExecSmartMerge.connectSUCCESS(self.doSuccessExecSmartMerge)
        edPluginExecSmartMerge.connectFAILURE(self.doFailureExecSmartMerge)
        edPluginExecSmartMerge.executeSynchronous()
コード例 #2
0
 def testCheckParameters(self):
     """
   complex type XSDataInputBioSaxsSmartMergev1_0 extends XSDataInput  {
 inputFile: XSDataFile []
 absoluteFidelity: XSDataDouble optional 
 relativeFidelity: XSDataDouble optional
 mergedCurve: XSDataFile
     """
     xsDataInput = XSDataInputBioSaxsSmartMergev1_0()
     xsDataInput.inputCurves = [XSDataFile()]
     xsDataInput.absoluteFidelity = XSDataDouble()
     xsDataInput.relativeFidelity = XSDataDouble()
     xsDataInput.mergedCurve = XSDataFile()
     edPluginExecBioSaxsSmartMerge = self.createPlugin()
     edPluginExecBioSaxsSmartMerge.setDataInput(xsDataInput)
     edPluginExecBioSaxsSmartMerge.checkParameters()
コード例 #3
0
ファイル: smart_merge.py プロジェクト: antolinos/edna
    keys = runs.keys()
    keys.sort()
    working_dir = "smart_merge-%s" % time.strftime("%Y%m%d-%H%M%S")
    base_dir = os.getcwd()
    os.makedirs(working_dir)
    os.chdir(working_dir)
    for run in keys:
        dico = runs[run][0]
        common_base = os.sep.join((dico["dirname"], "_".join(dico["basename"].split("_")[:-1]))) + "_"
        outFile = common_base + "ave.dat"
        subdir = os.path.join(os.path.dirname(dico["dirname"]), "ednaSub")
        if not subdir:
            os.makedirs(subdir)
        subFile = os.path.join(subdir, os.path.basename(common_base) + "sub.dat")
        xsd = XSDataInputBioSaxsSmartMergev1_0(mergedCurve=XSDataFile(XSDataString(outFile)),
                                         subtractedCurve = XSDataFile(XSDataString(subFile)),
                                         absoluteFidelity=rdabs,
                                         relativeFidelity=rdrel)
        if filerange:
            xsd.inputCurves = [XSDataFile(XSDataString(os.sep.join((dico["dirname"], dico["basename"]))))
                                for dico in runs[run]
                                if dico["frame"] in filerange ]
        else:
            xsd.inputCurves = [XSDataFile(XSDataString(os.sep.join((dico["dirname"], dico["basename"]))))
                                          for dico in runs[run]
                                          ]
        reprocess.startJob(xsd)

    print("All %i jobs queued after %.3fs" % (len(args), time.time() - reprocess.startTime))
    reprocess.join()
    if yappi: yappi.stop()
    print("All %i jobs processed after %.3fs" % (len(args), time.time() - reprocess.startTime))
コード例 #4
0
                if (idx is not None) and (idx in filerange):
                    listInFiles.append(os.path.abspath(fn))
            else:
                listInFiles.append(os.path.abspath(fn))

        if not outFile:
            outFile = os.path.join(os.path.dirname(filenames[0]),
                                   common_base + "ave.dat")
        if not subFile:
            subdir = os.path.join(
                os.path.dirname(os.path.dirname(filenames[0])), "ednaSub")
            if not subdir:
                os.makedirs(subdir)
            subFile = os.path.join(subdir, common_base + "sub.dat")

        xsd = XSDataInputBioSaxsSmartMergev1_0(
            mergedCurve=XSDataFile(XSDataString(outFile)))
        xsd.subtractedCurve = XSDataFile(XSDataString(subFile))
        if rdabs:
            xsd.absoluteFidelity = XSDataDouble(rdabs)
        if rdrel:
            xsd.relativeFidelity = XSDataDouble(rdrel)
        xsd.inputCurves = [XSDataFile(XSDataString(i)) for i in listInFiles]
        myXML = xsd.marshal()
        t1 = time.time()
        pid = edna.startJob([plugin, myXML])
        deltat = time.time() - t1
        totaltime += deltat
        listjobs.append(pid)
        print("%s | Total Time:\t%.3fs /Tango %.3fs\tLast Tango:\t%.3f" %
              (pid, time.time() - t0, totaltime, deltat))
    else: