def __init__(self, name, session, managerlocation=None, otherdatabinder=None, otherdbdatakeeper=None, tcpport=None, launcher=None, panel=None): self.name = name self.panel = panel self.initializeLogger() self.managerclient = None if session is None or isinstance(session, leginondata.SessionData): self.session = session else: raise TypeError('session must be of proper type') self.launcher = launcher if otherdatabinder is None: name = DataBinder.__name__ databinderlogger = gui.wx.Logging.getNodeChildLogger(name, self) self.databinder = DataBinder(self, databinderlogger, tcpport=tcpport) else: self.databinder = otherdatabinder if otherdbdatakeeper is None: self.dbdatakeeper = sinedon.getConnection('leginondata') else: self.dbdatakeeper = otherdbdatakeeper self.confirmationevents = {} self.eventswaiting = {} self.ewlock = threading.Lock() #self.addEventInput(event.Event, self.logEventReceived) self.addEventInput(event.KillEvent, self.die) self.addEventInput(event.ConfirmationEvent, self.handleConfirmedEvent) self.addEventInput(event.SetManagerEvent, self.handleSetManager) self.addEventInput(event.ApplicationLaunchedEvent, self.handleApplicationEvent) self.managerlocation = managerlocation if managerlocation is not None: try: self.setManager(self.managerlocation) except: self.logger.exception('exception in setManager') raise correctorclient.CorrectorClient.__init__(self) self.initializeSettings()
del self.targetlistevents[tid] self.logger.info('%s done waiting' % (self.name,)) ## if waiting for more than one, only returns status of final one return status if __name__ == '__main__': import node import sinedon class TestNode(node.Node, TargetHandler): pass def __init__(self, id, session=None, managerlocation=None): node.Node.__init__(self, id, session, managerlocation) db = sinedon.getConnection('leginondata') t = TestNode('testnode') s = leginondata.SessionData(name='04may26a') s = db.query(s, results=1) s = s[0] print 's', s im = db.direct_query(leginondata.AcquisitionImageData, 49780) print 'DONE DIRECT', im.dbid tar = t.researchTargets(session=s, image=im) print 'LEN', len(tar) print 'DBID', tar[0].dbid #print 'TAR0', tar[0] print 'IM REF', tar[0].special_getitem('image', dereference=False)
#!/usr/bin/env python import ccd import mrc import sinedon from leginon import leginondata import mem import sinedon.data sinedon.data.holdImages(False) db = sinedon.getConnection("leginondata") corrector = ccd.Corrector() session = leginondata.SessionData(name="07jun05b") print "BIAS" query = leginondata.AcquisitionImageData(session=session, label="bias1") images = db.query(query, readimages=False) print "Found %d images" % (len(images),) for image in images: filename = image["filename"] print "Inserting: ", filename corrector.insertBias(image["image"]) finalbias = corrector.bias() print "saving bias.mrc" mrc.write(finalbias, "bias.mrc") print "DARK" query = leginondata.AcquisitionImageData(session=session, label="dark1")