def run(self, para=None): try: response = urlopen('http://imagej.net/images/' + self.name) stream = StringIO(response.read()) img = imread(stream) IPy.show_img([img], self.title) except Exception as e: IPy.write('Open url failed!\tErrof:%s' % sys.exc_info()[1])
def run(self, ips, snap, img, para): detector = CVSURF(hessianThreshold=para['thr'], nOctaves=para['oct'], nOctaveLayers=para['int'], upright=para['upright'], extended=para['ext']) kps = detector.detect(img) ips.surf_keypoint = kps ips.mark = FeatMark(kps) IPy.write("Detect completed, {} points found!".format(len(kps)), 'Surf')
def run(self, para=None): try: fp, fn = os.path.split(para['url']) fn, fe = os.path.splitext(fn) response = urlopen(para['url']) ## TODO: Fixme! stream = StringIO(response.read()) img = imread(stream) IPy.show_img([img], fn) except Exception as e: IPy.write('Open url failed!\tErrof:%s' % sys.exc_info()[1])
def run(self, ips, imgs, para = None): nodes = nx.shortest_path(ips.data, source=para['start'], target=para['end'], weight='weight') path = zip(nodes[:-1], nodes[1:]) paths = [] for s,e in path: ps = ips.data[s][e].values() pts = sorted([(i['weight'], i['pts']) for i in ps]) paths.append(((s,e), pts[0])) sknw.draw_graph(ips.img, ips.data) for i in paths: ips.img[i[1][1][:,0], i[1][1][:,1]] = 255 IPy.write('%s-%s:%.4f'%(i[0][0], i[0][1], i[1][0]), 'ShortestPath') IPy.write('Nodes:%s, Length:%.4f'%(len(nodes), sum([i[1][0] for i in paths])), 'ShortestPath')
def log(self, pts1, pts2, msk, v, dim): sb = [] sb.append('Image1:{} points detected!'.format(len(pts1))) sb.append('Image2:{} points detected!\r\n'.format(len(pts2))) sb.append('Matched Point:{0}/{1}\r\n'.format(msk.sum(), len(msk))) if dim == 0: return sb.append('Transformation:') sb.append('%15.4f%15.4f%15.4f' % tuple(v.A1[:3])) sb.append('%15.4f%15.4f%15.4f' % tuple(v.A1[3:6])) row = [0, 0, 1] if dim == 6 else list(v[-2:]) + [1] sb.append('%15.4f%15.4f%15.4f' % tuple(row)) cont = '\n'.join(sb) IPy.write(cont, 'Surf')
def log(self, pts1, pts2, msk, v, dim): sb = [] sb.append('Image1:{} points detected!'.format(len(pts1))) sb.append('Image2:{} points detected!\r\n'.format(len(pts2))) sb.append('Matched Point:{0}/{1}\r\n'.format(msk.sum(), len(msk))) if dim == 0: return sb.append('Transformation:') for i in range(6): sb.append("{0:15.4}".format(v.A1[i])) row = [0, 0, 1] if dim == 6 else list(v[-2:]) + [1] for i in range(3): sb.append("{0:15.4}".format(row[i])) cont = '\n'.join(sb) IPy.write(cont, 'Surf')