Example #1
0
    def __init__(self,
                 InSelFile,
                 InDocFile,
                 MissingDocFile,
                 WorkingDir,
                 DoDeleteWorkingDir,
                 ProjectDir,
                 LogDir,
                 OutputRootName,
                 NumberOfIterations,
                 DoKeepAngles,
                 RestartIter,
                 Symmetry,
                 Dimension,
                 MaximumResolution,
                 ExtraParamsMLtomo,
                 DoAlign,
                 AngularSampling,
                 AngularSearchRange,
                 DoPerturb,
                 NumberOfReferences,
                 SeedsSelfile,
                 InitialRegularization,
                 NumberRegularizationSteps,
                 MaskName,
                 NumberOfThreads,
                 DoParallel,
                 NumberOfMpi,
                 SystemFlavour):
	     
        import os,sys,shutil
        scriptdir=os.path.split(os.path.dirname(os.popen('which xmipp_protocols','r').read()))[0]+'/protocols'
        sys.path.append(scriptdir) # add default search path
        import log,selfile

        self.InSelFile=InSelFile
        self.InDocFile=InDocFile
        self.MissingDocFile=MissingDocFile
        self.WorkingDir=WorkingDir
        self.DoDeleteWorkingDir=DoDeleteWorkingDir
        self.ProjectDir=ProjectDir
        self.LogDir=LogDir
        self.OutputRootName=OutputRootName
        self.NumberOfIterations=NumberOfIterations
        self.DoKeepAngles=DoKeepAngles
        self.RestartIter=RestartIter
        self.Symmetry=Symmetry
        self.Dimension=Dimension
        self.MaximumResolution=MaximumResolution
        self.ExtraParamsMLtomo=ExtraParamsMLtomo
        self.DoAlign=DoAlign
        self.AngularSampling=AngularSampling
        self.AngularSearchRange=AngularSearchRange
        self.DoPerturb=DoPerturb
        self.NumberOfReferences=NumberOfReferences
        self.SeedsSelfile=SeedsSelfile
        self.InitialRegularization=InitialRegularization
        self.NumberRegularizationSteps=NumberRegularizationSteps
        self.MaskName=MaskName
        self.NumberOfThreads=NumberOfThreads
        self.DoParallel=DoParallel
        self.NumberOfMpi=NumberOfMpi
        self.SystemFlavour=SystemFlavour

        # Setup logging
        self.log=log.init_log_system(self.ProjectDir,
                                     self.LogDir,
                                     sys.argv[0],
                                     self.WorkingDir)

        # This is not a restart
        if (self.RestartIter < 1):
            # Delete working directory if it exists, make a new one
            if (DoDeleteWorkingDir): 
                if (self.WorkingDir==""):
                    raise RuntimeError,"No working directory given"
                if os.path.exists(self.WorkingDir):
                    shutil.rmtree(self.WorkingDir)
            if not os.path.exists(self.WorkingDir):
                os.makedirs(self.WorkingDir)


        # Backup script
        log.make_backup_of_script_file(sys.argv[0],
                                       os.path.abspath(self.WorkingDir))
    
        # This protocol is executed from the ProjectDir
        self.execute_MLtomo()
Example #2
0
    def __init__(self,
                 InSelFile,
                 WorkingDir,
                 ProjectDir,
                 LogDir,
                 ReferenceImage,
                 NumberOfIterations,
                 DoFilter,
                 Highpass,
                 Lowpass,
                 NumberOfMpi,
                 SystemFlavour):
	     
        scriptdir=os.path.split(os.path.dirname(os.popen('which xmipp_protocols','r').read()))[0]+'/protocols'
        sys.path.append(scriptdir) # add default search path
        import log

        self.WorkingDir=WorkingDir
        self.ProjectDir=ProjectDir
        self.InSelFile=InSelFile
        self.ReferenceImage=ReferenceImage
        self.NumberOfIterations=NumberOfIterations
        self.DoFilter=DoFilter
        self.Highpass=Highpass
        self.Lowpass=Lowpass
        self.NumberOfMpi=NumberOfMpi
        self.SystemFlavour=SystemFlavour
   
        # Setup logging
        self.log=log.init_log_system(self.ProjectDir,
                                     LogDir,
                                     sys.argv[0],
                                     self.WorkingDir)
                
        # Create directory if does not exist
        if not os.path.exists(self.WorkingDir):
            os.makedirs(self.WorkingDir)
        self.doStep1=True
        self.doStep2=True
                
        # Save parameters and compare to possible previous runs
        self.saveAndCompareParameters([
                 "InSelFile",
                 "ReferenceImage",
                 "NumberOfIterations",
                 "DoFilter",
                 "Highpass",
                 "Lowpass"]);

        # Backup script
        log.make_backup_of_script_file(sys.argv[0],
            os.path.abspath(self.WorkingDir))

        # Update status
        fh=open(self.WorkingDir + "/status.txt", "a")
        fh.write("Step 0: Process started at " + time.asctime() + "\n")
        fh.close()

        # Run
        self.preprocess()
        self.execute_CLalign2D()
        self.postprocess()
        
        fh=open(self.WorkingDir + "/status.txt", "a")
        fh.write("Step F: Process finished at " + time.asctime() + "\n")
        fh.close()