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 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 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 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 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()