def setCommandInput(self, argument_module): self.Files = ImageFiles(argument_module, self.horizons_phil) self.frames = self.Files.frames()
def setCommandInput(self,argument_module): self.Files = ImageFiles(argument_module,self.horizons_phil) self.frames = self.Files.frames()
class AutoIndexOrganizer: def __init__(self, verbose=0, **kwargs): self.rundir = os.getcwd() self.verbose = verbose self.horizons_phil = kwargs["horizons_phil"] #self.horizons_phil.persist.show() assert 'argument_module' in kwargs self.setCommandInput(kwargs['argument_module']) if self.verbose: print "Process frames in directory:", self.Files.filenames.FN[ 0].cwd if 'delegate' in kwargs: self.setIndexingDelegate(kwargs['delegate']) self.exception_passthru = 0 if 'exception_passthru' in kwargs: self.exception_passthru = kwargs['exception_passthru'] print '\n'.join(self.Files.filenames()) def setCommandInput(self, argument_module): self.Files = ImageFiles(argument_module, self.horizons_phil) self.frames = self.Files.frames() def printSpots(self): from labelit.procedure import spotfinder_and_pickle S = spotfinder_and_pickle(self.rundir, self.Files, spots_pickle=self.horizons_phil.spots_pickle, horizons_phil=self.horizons_phil) #print S.images NEW = spotfinder_proxy(S, self.horizons_phil, self.Files) NEW.images = {} NEW.overlapping = False NEW.phil_params = S.phil_params for frame in self.frames: NEW.images[frame] = dict(area=[ 1, ] # not actually used for new horizons ) self.S = NEW for frame in self.frames: if self.verbose: from labelit.command_line.stats_distl import pretty_image_stats, notes pretty_image_stats(S, frame) notes(S, self.frames[0]) print NEW.get_aitbx_inputs() def setIndexingDelegate(self, function): self.indexing_delegate = function def executeDelegate(self): self.info = self.indexing_delegate(self.frames, self.Files, self.S) def pickle_the_results(self): for key in ['best_integration', 'triclinic']: if key in self.info: if 'minimizer' in self.info[key]: #not attained when best==tri del self.info[key]['minimizer'] # Must remove # temporary section pending an analysis of which data need to be persistent if 'results' in self.info[key]["integration"]: #future options 1) make the whole object picklable--write test script #2) just pickle the data needed for the GUI del self.info[key]["integration"]['results'] from labelit.dptbx.pickle_support import pickle_refinements pickle_refinements(self.info, self.horizons_phil.refinements_pickle) def process(self): self.printSpots() self.executeDelegate() if 'info' in self.__dict__: #if indexing worked self.pickle_the_results() return self.info
class AutoIndexOrganizer: def __init__(self,verbose = 0,**kwargs): self.rundir = os.getcwd() self.verbose = verbose self.horizons_phil = kwargs["horizons_phil"] #self.horizons_phil.persist.show() assert kwargs.has_key('argument_module') self.setCommandInput(kwargs['argument_module']) if self.verbose: print "Process frames in directory:",self.Files.filenames.FN[0].cwd if kwargs.has_key('delegate'): self.setIndexingDelegate(kwargs['delegate']) self.exception_passthru = 0 if kwargs.has_key('exception_passthru'): self.exception_passthru = kwargs['exception_passthru'] print '\n'.join(self.Files.filenames()) def setCommandInput(self,argument_module): self.Files = ImageFiles(argument_module,self.horizons_phil) self.frames = self.Files.frames() def printSpots(self): from labelit.procedure import spotfinder_and_pickle S = spotfinder_and_pickle(self.rundir,self.Files, spots_pickle = self.horizons_phil.spots_pickle, horizons_phil = self.horizons_phil) #print S.images NEW = spotfinder_proxy(S,self.horizons_phil,self.Files) NEW.images = {} NEW.overlapping = False NEW.phil_params = S.phil_params for frame in self.frames: NEW.images[frame]=dict(area=[1,] # not actually used for new horizons ) self.S = NEW for frame in self.frames: if self.verbose: from labelit.command_line.stats_distl import pretty_image_stats,notes pretty_image_stats(S,frame) notes(S,self.frames[0]) print NEW.get_aitbx_inputs() def setIndexingDelegate(self,function): self.indexing_delegate = function def executeDelegate(self): self.info = self.indexing_delegate(self.frames,self.Files,self.S) def pickle_the_results(self): for key in ['best_integration','triclinic']: if self.info.has_key(key): if self.info[key].has_key('minimizer'): #not attained when best==tri del self.info[key]['minimizer'] # Must remove # temporary section pending an analysis of which data need to be persistent if self.info[key]["integration"].has_key('results'): #future options 1) make the whole object picklable--write test script #2) just pickle the data needed for the GUI del self.info[key]["integration"]['results'] from labelit.dptbx.pickle_support import pickle_refinements pickle_refinements(self.info,self.horizons_phil.refinements_pickle) def process(self): self.printSpots() self.executeDelegate() if self.__dict__.has_key('info'): #if indexing worked self.pickle_the_results() return self.info