Exemple #1
0
    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()
	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)
Exemple #4
0
#!/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")