def displayCurrent(self): imarray = numpy.zeros((2, 2)) while imarray.max() == 0: currentname = self.files[self.currentindex] self.logger.info('Displaying %s' % (currentname)) dir = self.maskdir fullname = os.path.join(dir, currentname) imarray = self.readPNG(fullname) if imarray.max() == 0: if self.forward: if self.currentindex == len(self.files) - 1: self.logger.info('End reached.') return else: self.currentindex += 1 else: if self.currentindex == 0: self.logger.info('Beginning reached.') return else: self.currentindex -= 1 if currentname.find('_mask') > -1: alpha = 0.5 imgdata = self.images[self.currentindex] parentimg = imgdata['image'] maskshape = imarray.shape targets = apMask.getRegionsAsTargets(self.maskrundata, maskshape, imgdata) if targets is None or len(targets) == 0: self.logger.warning('No Mask Regions in this Image') keep = apDatabase.getImgAssessmentStatus(imgdata) if keep == False: self.logger.warning('Rejected Image, Mask Irelavent') self.alltargets = targets[:] self.setTargets(targets, 'Regions') binning = parentimg.shape[0] / imarray.shape[0] parentimg = imagefun.bin(parentimg, binning) overlay = apMask.overlayMask(parentimg, imarray) self.setImage(overlay, 'Mask') imarray = parentimg self.setImage(imarray, 'Image')
def displayCurrent(self): imarray = numpy.zeros((2,2)) while imarray.max() == 0: currentname = self.files[self.currentindex] self.logger.info('Displaying %s' % (currentname)) dir = self.maskdir fullname = os.path.join(dir, currentname) imarray = self.readPNG(fullname) if imarray.max() ==0: if self.forward: if self.currentindex == len(self.files)-1: self.logger.info('End reached.') return else: self.currentindex += 1 else: if self.currentindex == 0: self.logger.info('Beginning reached.') return else: self.currentindex -= 1 if currentname.find('_mask') > -1: alpha = 0.5 imgdata = self.images[self.currentindex] parentimg = imgdata['image'] maskshape = imarray.shape targets = apMask.getRegionsAsTargets(self.maskrundata,maskshape,imgdata) if targets is None or len(targets)==0: self.logger.warning('No Mask Regions in this Image') keep = apDatabase.getImgAssessmentStatus(imgdata) if keep == False: self.logger.warning('Rejected Image, Mask Irelavent') self.alltargets = targets[:] self.setTargets(targets, 'Regions') binning = parentimg.shape[0]/imarray.shape[0] parentimg=imagefun.bin(parentimg,binning) overlay = apMask.overlayMask(parentimg,imarray) self.setImage(overlay, 'Mask') imarray=parentimg self.setImage(imarray, 'Image')
def onKeepAll(self): self.getImageList() # get maskshape from first mask currentname = self.files[0] dir = self.maskdir fullname = os.path.join(dir, currentname) imarray = self.readPNG(fullname) maskshape = imarray.shape if self.images: for i,imgdata in enumerate(self.images): targets = apMask.getRegionsAsTargets(self.maskrundata,maskshape,imgdata) keeplist = [] keeptargets = targets for target in keeptargets: keeplist.append(target['stats']['Label']) apMask.saveAssessmentFromTargets(self.maskrundata,self.assessrundata,imgdata,keeplist) self.logger.info('Keep All Regions of mask run: %s' % (self.maskrundata['name'],))