def getAvailableFilters(self, operations_used=list()): p = plugins.getOperations() names = p.keys() # grab transition prefixes for last operation transitionsPre = [ t.split('.')[0] for t in p[operations_used[-1]]['operation']['transitions'] ] if operations_used else None result = [] for op_name in names: if op_name not in operations_used: if transitionsPre is not None: # grab transition prefixes for current op op_transitions = [ t.split('.')[0] for t in p[op_name]['operation']['transitions'] ] # don't append and continue with loop if transitions don't match if set(transitionsPre).isdisjoint(op_transitions): continue result.append(op_name) return result
def nextfilter(self): im,filename = self.scModel.currentImage() if (im is None): return d = FilterCaptureDialog(self,self.scModel.get_dir(),im,plugins.getOperations(),os.path.split(filename)[1], self.scModel) if d.optocall is not None: msg,pairs = self.scModel.imageFromPlugin(d.optocall,im,filename,**self.resolvePluginValues(d.argvalues)) if msg is not None: tkMessageBox.showwarning("Next Filter",msg) self._addPairs(pairs)
def nextfilter(self): im, filename = self.scModel.currentImage() if (im is None): return d = FilterCaptureDialog(self, self.scModel.get_dir(), im, plugins.getOperations(), os.path.split(filename)[1], self.scModel) if d.optocall is not None: msg, pairs = self.scModel.imageFromPlugin( d.optocall, im, filename, **self.resolvePluginValues(d.argvalues)) if msg is not None: tkMessageBox.showwarning("Next Filter", msg) self._addPairs(pairs)
def getOperations(self, startType, endType): import copy p = copy.copy(plugins.getOperations(startType)) for grp, v in self.groups.iteritems(): if not v.isValid(): continue try: grpOp = v.getOperation() transitions = [ t.split('.')[0] for t in grpOp['operation']['transitions'] ] if startType is None or startType in transitions: p[grp] = grpOp except Exception as e: logging.getLogger('maskgen').error( 'Cannot load group filter {} : {}'.format(grp, str(e))) return p
def getOperations(self, fileType): import copy p = copy.copy(plugins.getOperations(fileType)) for grp, v in self.groups.iteritems(): p[grp] = v.getOperation() return p