def publishImageData(self, imagedata, save):
        acquisitionimagedata = leginondata.AcquisitionImageData(initializer=imagedata)
        if save:
            griddata = leginondata.GridData()
            if self.grid is not None:
                gridinfo = self.gridmapping[self.grid]
                griddata["grid ID"] = gridinfo["gridId"]
                emgriddata = leginondata.EMGridData(name=gridinfo["label"], project=gridinfo["projectId"])
                griddata["emgrid"] = emgriddata
                griddata["insertion"] = self.insertion
                acquisitionimagedata["grid"] = griddata
                self.gridlabel = gridlabeler.getGridLabel(griddata)
            elif self.emgrid is not None:
                # New style that uses emgridata only for grid entry
                griddata["emgrid"] = self.emgrid
                griddata["insertion"] = self.insertion
                acquisitionimagedata["grid"] = griddata
            else:
                self.gridlabel = ""
            acquisitionimagedata["label"] = self.settings["image label"]

            self.setImageFilename(acquisitionimagedata)
            acquisitionimagedata.attachPixelSize()

            try:
                self.publish(imagedata["scope"], database=True)
                self.publish(imagedata["camera"], database=True)
                self.publish(acquisitionimagedata, database=True)
            except RuntimeError:
                raise node.PublishError

                ## publish event even if no save
        self.publish(acquisitionimagedata, pubevent=True)
예제 #2
0
	def publishImageData(self, imagedata, save):
		acquisitionimagedata = leginondata.AcquisitionImageData(initializer=imagedata)
		if save:
			if self.grid is not None:
				gridinfo = self.gridmapping[self.grid]
				griddata = leginondata.GridData()
				griddata['grid ID'] = gridinfo['gridId']
				emgriddata = leginondata.EMGridData(name=gridinfo['label'],project=gridinfo['projectId'])
				griddata['emgrid'] = emgriddata
				acquisitionimagedata['grid'] = griddata
				self.gridlabel = gridlabeler.getGridLabel(griddata)	
			else:
				self.gridlabel = ''
			acquisitionimagedata['label'] = self.settings['image label']
	
			self.setImageFilename(acquisitionimagedata)
			acquisitionimagedata.attachPixelSize()
	
			try:
				self.publish(imagedata['scope'], database=True)
				self.publish(imagedata['camera'], database=True)
				self.publish(acquisitionimagedata, database=True)
			except RuntimeError:
				raise node.PublishError
		
		## publish event even if no save
		self.publish(acquisitionimagedata, pubevent=True)
    def publishImageData(self, imagedata, save):
        acquisitionimagedata = leginondata.AcquisitionImageData(
            initializer=imagedata)
        if save:
            griddata = leginondata.GridData()
            if self.grid is not None:
                gridinfo = self.gridmapping[self.grid]
                griddata['grid ID'] = gridinfo['gridId']
                emgriddata = leginondata.EMGridData(
                    name=gridinfo['label'], project=gridinfo['projectId'])
                griddata['emgrid'] = emgriddata
                griddata['insertion'] = self.insertion
                acquisitionimagedata['grid'] = griddata
                self.gridlabel = gridlabeler.getGridLabel(griddata)
            elif self.emgrid is not None:
                # New style that uses emgridata only for grid entry
                griddata['emgrid'] = self.emgrid
                griddata['insertion'] = self.insertion
                acquisitionimagedata['grid'] = griddata
            else:
                self.gridlabel = ''
            acquisitionimagedata['label'] = self.settings['image label']

            self.setImageFilename(acquisitionimagedata)
            acquisitionimagedata.attachPixelSize()

            try:
                self.publish(imagedata['scope'], database=True)
                self.publish(imagedata['camera'], database=True)
                self.publish(acquisitionimagedata, database=True)
            except RuntimeError:
                raise node.PublishError

        ## publish event even if no save
        self.publish(acquisitionimagedata, pubevent=True)
	def setGrid(self,evt):
		if evt['grid'] is None:
			self.grid = None
			self.logger.info('Remove filename grid prefix')
			return
		grid = evt['grid']
		self.grid = grid
		label = gridlabeler.getGridLabel(grid)
		self.logger.info('Add grid prefix as '+label)
	def setGrid(self,evt):
		if evt['grid'] is None:
			self.grid = None
			self.logger.info('Remove filename grid prefix')
			return
		grid = evt['grid']
		self.grid = grid
		label = gridlabeler.getGridLabel(grid)
		self.logger.info('Add grid prefix as '+label)
def newRootName(imagedata, usegridlabel):
	parts = []
	sessionstr = imagedata['session']['name']
	parts.append(sessionstr)
	if usegridlabel:
		if 'grid' in imagedata and imagedata['grid'] is not None:
			gridlabel = gridlabeler.getGridLabel(imagedata['grid'])
			parts.append(gridlabel)
	sep = '_'
	name = sep.join(parts)
	return name
def newRootName(imagedata, usegridlabel):
	parts = []
	sessionstr = imagedata['session']['name']
	parts.append(sessionstr)
	if usegridlabel:
		if 'grid' in imagedata and imagedata['grid'] is not None:
			gridlabel = gridlabeler.getGridLabel(imagedata['grid'])
			parts.append(gridlabel)
	sep = '_'
	name = sep.join(parts)
	return name
예제 #8
0
	def getTargetList(self, evt):
		self.logger.debug('Creating target list...')
		if evt is None:
			# generated from user invoked method
			targetlist = self.newTargetList(mosaic=True, label=self.settings['label'])
			grid = None
		else:
			# generated from external event
			grid = evt['grid']
			label = gridlabeler.getGridLabel(grid)
			targetlist = self.newTargetList(mosaic=True, label=label)
		self.logger.debug('Target list created')
		return targetlist, grid
	def getTargetList(self, evt):
		self.logger.debug('Creating target list...')
		if evt is None:
			# generated from user invoked method
			targetlist = self.newTargetList(mosaic=True, label=self.settings['label'])
			grid = None
		else:
			# generated from external event
			grid = evt['grid']
			label = gridlabeler.getGridLabel(grid)
			targetlist = self.newTargetList(mosaic=True, label=label)
		self.logger.debug('Target list created')
		return targetlist, grid
예제 #10
0
	def setGrid(self,evt):
		if evt['grid'] is None:
			self.gridmapping = {}
			self.grid = None
			self.gridlabel = None
			self.logger.info('Remove filename grid prefix')
			self.panel.onUnsetRobotGrid()
			return
		griddata = evt['grid']
		self.getGrids(evt['tray label'])
		self.grid = '%d - %s' % (evt['grid location'], griddata['emgrid']['name'])
		self.gridlabel = gridlabeler.getGridLabel(griddata)
		self.logger.info('Add grid prefix as '+self.gridlabel)
		self.panel.onSetRobotGrid()
 def setGrid(self, evt):
     if evt["grid"] is None:
         self.gridmapping = {}
         self.grid = None
         self.gridlabel = None
         self.logger.info("Remove filename grid prefix")
         self.panel.onUnsetRobotGrid()
         return
     griddata = evt["grid"]
     self.insertion = griddata["insertion"]
     self.gridlabel = gridlabeler.getGridLabel(griddata)
     if griddata["grid ID"] is not None:
         self.getGrids(evt["tray label"])
         self.grid = "%d - %s" % (evt["grid location"], griddata["emgrid"]["name"])
     else:
         self.emgrid = griddata["emgrid"]
     self.logger.info("Add grid prefix as " + self.gridlabel)
     self.panel.onSetRobotGrid()
 def setGrid(self, evt):
     if evt['grid'] is None:
         self.gridmapping = {}
         self.grid = None
         self.gridlabel = None
         self.logger.info('Remove filename grid prefix')
         self.panel.onUnsetRobotGrid()
         return
     griddata = evt['grid']
     self.insertion = griddata['insertion']
     self.gridlabel = gridlabeler.getGridLabel(griddata)
     if griddata['grid ID'] is not None:
         self.getGrids(evt['tray label'])
         self.grid = '%d - %s' % (evt['grid location'],
                                  griddata['emgrid']['name'])
     else:
         self.emgrid = griddata['emgrid']
     self.logger.info('Add grid prefix as ' + self.gridlabel)
     self.panel.onSetRobotGrid()