def importMosaicTiles(self):
     source_session = self.getSourceSession()
     print "Importing mosaic tiles...."
     sinedon.setConfig('leginondata', db=self.source_dbname)
     q = leginondata.MosaicTileData(session=source_session)
     results = self.research(q)
     self.publish(results)
Exemple #2
0
    def processImageData(self, imagedata):
        '''
		different from ClickTargetFinder because findTargets is
		not per image, instead we have submitTargets.
		Each new image becomes a tile in a mosaic.
		'''
        self.logger.info('Processing inbound image data')
        ### create a new imagelist if not already done
        targets = imagedata['target']['list']
        if not targets:
            self.logger.info('No targets to process')
            return
        imagelist = self.getMosaicImageList(targets)
        self.logger.debug('creating MosaicTileData for image %d' %
                          (imagedata.dbid, ))
        tiledata = leginondata.MosaicTileData(image=imagedata,
                                              list=imagelist,
                                              session=self.session)
        self.logger.debug('publishing MosaicTileData')
        self.publish(tiledata, database=True)
        self.setMosaicNameFromImageList(imagelist)
        self.logger.debug('published MosaicTileData')
        self.addTile(imagedata)

        if self.settings['create on tile change'] == 'all':
            self.logger.debug('create all')
            self.createMosaicImage()
            self.logger.debug('done create all')

        self.logger.debug('Image data processed')
 def queryAtlases(self):
     querydata = leginondata.MosaicTileData(session=self.session)
     tiledatalist = self.research(datainstance=querydata)
     imagedatarefs = {}
     for tiledata in tiledatalist:
         imagedataref = tiledata.special_getitem('image', dereference=False)
         if tiledata['list'].dbid in imagedatarefs:
             imagedatarefs[tiledata['list'].dbid].append(imagedataref)
         else:
             imagedatarefs[tiledata['list'].dbid] = [imagedataref]
     return imagedatarefs
Exemple #4
0
 def researchMosaicTileData(self):
     tilequery = leginondata.MosaicTileData(
         session=self.session, list=leginondata.ImageListData())
     mosaictiles = self.research(datainstance=tilequery)
     mosaiclists = ordereddict.OrderedDict()
     for tile in mosaictiles:
         list = tile['list']
         label = '(no label)'
         if list['targets'] is not None:
             if list['targets']['label']:
                 label = list['targets']['label']
         key = '%s:  %s' % (list.dbid, label)
         if key not in mosaiclists:
             mosaiclists[key] = []
         mosaiclists[key].append(tile)
     self.mosaicselectionmapping = mosaiclists
     return mosaiclists