Ejemplo n.º 1
0
 def _image_view(sel_aids=sel_aids, **_kwargs):
     try:
         viz.show_image(ibs, gid, sel_aids=sel_aids, fnum=self.fnum, **_kwargs)
         df2.set_figtitle('Image View')
     except TypeError as ex:
         ut.printex(ex, ut.dict_str(_kwargs))
         raise
Ejemplo n.º 2
0
def TEST_IBS(ibs):
    gpath_list = grabdata.get_test_gpaths(ndata=2)

    print('[TEST] 1.ibs.add_images(gpath_list=%r)' % gpath_list)
    gid_list = ibs.add_images(gpath_list)
    print(' * gid_list=%r' % gid_list)

    print('[TEST] 2. ibs.get_image_paths(gid_list)')
    gpaths_list = ibs.get_image_paths(gid_list)
    print(' * gpaths_list=%r' % gpaths_list)

    print('[TEST] 3. get_image_props')
    uri_list = ibs.get_image_uris(gid_list)
    path_list = ibs.get_image_paths(gid_list)
    gsize_list = ibs.get_image_sizes(gid_list)
    time_list = ibs.get_image_unixtime(gid_list)
    gps_list = ibs.get_image_gps(gid_list)
    print(' * uri_list=%r' % uri_list)
    print(' * path_list=%r' % path_list)
    print(' * gsize_list=%r' % gsize_list)
    print(' * time_list=%r' % time_list)
    print(' * gps_list=%r' % gps_list)

    print('[TEST] 4. get_image_props')
    mult_cols_list = ibs.db.get('images',
                                ('image_uri', 'image_width', 'image_height'),
                                gid_list)
    print(' * gps_list=%r' % mult_cols_list)

    print('[TEST] 5. add_annots')
    gid = gid_list[0]
    gid_list = [gid, gid]
    bbox_list = [(50, 50, 100, 100), (75, 75, 102, 101)]
    theta_list = [0, 1.1]
    nid_list = None
    name_list = None
    notes_list = None
    aid_list = ibs.add_annots(gid_list,
                              bbox_list,
                              theta_list=theta_list,
                              nid_list=nid_list,
                              name_list=name_list,
                              notes_list=notes_list)
    print(' * aid_list=%r' % aid_list)

    print('[TEST] 6. get_annot_props')
    gid_list = ibs.get_annot_gids(aid_list)
    bbox_list = ibs.get_annot_bboxes(aid_list)
    theta_list = ibs.get_annot_thetas(aid_list)
    aids_list = ibs.get_image_aids(gid)
    print(' * gid_list=%r' % gid_list)
    print(' * bbox_list=%r' % bbox_list)
    print(' * theta_list=%r' % theta_list)
    print(' * aids_list=%r' % aids_list)
    assert len(bbox_list) == len(
        theta_list), "len(bbox_list) != len(theta_list)"
    assert len(theta_list) == len(aid_list), "len(theta_list) != len(aid_list)"

    viz.show_image(ibs, gid)
    return locals()
Ejemplo n.º 3
0
def iselect_bbox(ibs, gid, fnum=1,
                 figtitle='Image View - Select ANNOTATION (click two points)',
                 **kwargs):
    #from matplotlib.backend_bases import mplDeprecation
    print('[*interact] select_bbox(gid=%r, fnum=%r)' % (gid, fnum))
    print('[*interact] Define a Rectanglular ANNOTATION by clicking two points.')
    # Show the image
    fig = ih.begin_interaction('select_bbox', fnum)
    fig_presenter.bring_to_front(fig)
    viz.show_image(ibs, gid, **kwargs)
    try:
        viz.draw()
        fig = df2.gcf()
        pts = fig.ginput(2)
        print('[*guitools] ginput(2) = %r' % (pts,))
        [(x1, y1), (x2, y2)] = pts
        xm = min(x1, x2)
        xM = max(x1, x2)
        ym = min(y1, y2)
        yM = max(y1, y2)
        bbox = tuple(map(int, map(round, (xm, ym, xM - xm, yM - ym))))
        # Reconnect the old button press events
        print('[*interact] bbox = %r ' % (bbox,))
        return bbox
    except Exception as ex:
        print('<!!!>')
        print('[*interact] Caught: %s %s' % (type(ex), ex))
        print('[*interact] ANNOTATION selection Failed:')
        print('</!!!>')
        raise
Ejemplo n.º 4
0
def iselect_bbox(ibs, gid, fnum=1,
                 figtitle='Image View - Select ANNOTATION (click two points)',
                 **kwargs):
    #from matplotlib.backend_bases import mplDeprecation
    print('[*interact] select_bbox(gid=%r, fnum=%r)' % (gid, fnum))
    print('[*interact] Define a Rectanglular ANNOTATION by clicking two points.')
    # Show the image
    fig = ih.begin_interaction('select_bbox', fnum)
    fig_presenter.bring_to_front(fig)
    viz.show_image(ibs, gid, **kwargs)
    try:
        viz.draw()
        fig = df2.gcf()
        pts = fig.ginput(2)
        print('[*guitools] ginput(2) = %r' % (pts,))
        [(x1, y1), (x2, y2)] = pts
        xm = min(x1, x2)
        xM = max(x1, x2)
        ym = min(y1, y2)
        yM = max(y1, y2)
        bbox = tuple(map(int, map(round, (xm, ym, xM - xm, yM - ym))))
        # Reconnect the old button press events
        print('[*interact] bbox = %r ' % (bbox,))
        return bbox
    except Exception as ex:
        print('<!!!>')
        print('[*interact] Caught: %s %s' % (type(ex), ex))
        print('[*interact] ANNOTATION selection Failed:')
        print('</!!!>')
        raise
Ejemplo n.º 5
0
def TEST_VIZ(ibs):
    valid_gids = ibs.get_valid_gids()
    valid_aids = ibs.get_valid_aids()
    print('len(valid_aids) = %r' % len(valid_aids))
    print('len(valid_gids) = %r' % len(valid_gids))
    assert len(valid_gids) > 0, 'database images cannot be empty for test'
    gindex = 1
    gid = valid_gids[gindex]
    aid_list = ibs.get_image_aids(gid)
    rindex = 0
    aid = aid_list[rindex]
    qaid = aid
    aids = aid_list[1:3]
    aid = aid_list[-1]

    try:
        qres = ibs._query_chips4([qaid], valid_aids)[qaid]
        print(qres)
        top_aids = qres.get_top_aids(ibs)
        assert len(top_aids) > 0, 'Results seems to be empty'
        aid2 = top_aids[0]  # 294
        query_failed = False
    except Exception as ex:
        query_failed = True
        utool.printex(ex, 'QUERY FAILED!')
        raise

    #----------------------
    #print('Show Image')
    viz.show_image(ibs, gid, aids=aids, fnum=1)
    df2.set_figtitle('Show Image')

    #----------------------
    #print('Show Chip')
    kpts_kwgs = dict(ell=True,
                     ori=True,
                     rect=True,
                     eig=True,
                     pts=False,
                     kpts_subset=10)
    viz.show_chip(ibs, aid, in_image=False, fnum=2, **kpts_kwgs)
    df2.set_figtitle('Show Chip (normal)')
    viz.show_chip(ibs, aid, in_image=True, fnum=3, **kpts_kwgs)
    df2.set_figtitle('Show Chip (in_image)')

    #----------------------
    if not query_failed:
        print('Show Query')
        viz.show_matches(ibs, qres, aid2, fnum=4)
        df2.set_figtitle('Show Chipres')

        viz.show_qres(ibs, qres, fnum=5)
        df2.set_figtitle('Show QRes')

    ##----------------------
    print('return test locals')
    return locals()
Ejemplo n.º 6
0
 def _image_view(sel_aids=sel_aids, **_kwargs):
     try:
         viz.show_image(ibs,
                        gid,
                        sel_aids=sel_aids,
                        fnum=self.fnum,
                        **_kwargs)
         df2.set_figtitle('Image View')
     except TypeError as ex:
         ut.printex(ex, ut.repr2(_kwargs))
         raise
Ejemplo n.º 7
0
def TEST_IBS(ibs):
    gpath_list = grabdata.get_test_gpaths(ndata=2)

    print('[TEST] 1.ibs.add_images(gpath_list=%r)' % gpath_list)
    gid_list = ibs.add_images(gpath_list)
    print(' * gid_list=%r' % gid_list)

    print('[TEST] 2. ibs.get_image_paths(gid_list)')
    gpaths_list = ibs.get_image_paths(gid_list)
    print(' * gpaths_list=%r' % gpaths_list)

    print('[TEST] 3. get_image_props')
    uri_list   = ibs.get_image_uris(gid_list)
    path_list  = ibs.get_image_paths(gid_list)
    gsize_list = ibs.get_image_sizes(gid_list)
    time_list  = ibs.get_image_unixtime(gid_list)
    gps_list   = ibs.get_image_gps(gid_list)
    print(' * uri_list=%r' % uri_list)
    print(' * path_list=%r' % path_list)
    print(' * gsize_list=%r' % gsize_list)
    print(' * time_list=%r' % time_list)
    print(' * gps_list=%r' % gps_list)

    print('[TEST] 4. get_image_props')
    mult_cols_list = ibs.db.get('images', ('image_uri', 'image_width', 'image_height'), gid_list)
    print(' * gps_list=%r' % mult_cols_list)

    print('[TEST] 5. add_annots')
    gid = gid_list[0]
    gid_list = [gid, gid]
    bbox_list = [(50, 50, 100, 100), (75, 75, 102, 101)]
    theta_list = [0, 1.1]
    nid_list = None
    name_list = None
    notes_list = None
    aid_list = ibs.add_annots(gid_list, bbox_list, theta_list=theta_list,
                              nid_list=nid_list, name_list=name_list,
                              notes_list=notes_list)
    print(' * aid_list=%r' % aid_list)

    print('[TEST] 6. get_annot_props')
    gid_list    = ibs.get_annot_gids(aid_list)
    bbox_list   = ibs.get_annot_bboxes(aid_list)
    theta_list  = ibs.get_annot_thetas(aid_list)
    aids_list   = ibs.get_image_aids(gid)
    print(' * gid_list=%r' % gid_list)
    print(' * bbox_list=%r' % bbox_list)
    print(' * theta_list=%r' % theta_list)
    print(' * aids_list=%r' % aids_list)
    assert len(bbox_list) == len(theta_list), "len(bbox_list) != len(theta_list)"
    assert len(theta_list) == len(aid_list), "len(theta_list) != len(aid_list)"

    viz.show_image(ibs, gid)
    return locals()
Ejemplo n.º 8
0
def TEST_VIZ(ibs):
    valid_gids = ibs.get_valid_gids()
    valid_aids = ibs.get_valid_aids()
    print('len(valid_aids) = %r' % len(valid_aids))
    print('len(valid_gids) = %r' % len(valid_gids))
    assert len(valid_gids) > 0, 'database images cannot be empty for test'
    gindex = 1
    gid = valid_gids[gindex]
    aid_list = ibs.get_image_aids(gid)
    rindex = 0
    aid = aid_list[rindex]
    qaid = aid
    aids = aid_list[1:3]
    aid = aid_list[-1]

    try:
        qres = ibs._query_chips4([qaid], valid_aids)[qaid]
        print(qres)
        top_aids = qres.get_top_aids(ibs)
        assert len(top_aids) > 0, 'Results seems to be empty'
        aid2 = top_aids[0]  # 294
        query_failed = False
    except Exception as ex:
        query_failed = True
        utool.printex(ex, 'QUERY FAILED!')
        raise

    #----------------------
    #print('Show Image')
    viz.show_image(ibs, gid, aids=aids, fnum=1)
    df2.set_figtitle('Show Image')

    #----------------------
    #print('Show Chip')
    kpts_kwgs = dict(ell=True, ori=True, rect=True,
                     eig=True, pts=False, kpts_subset=10)
    viz.show_chip(ibs, aid, in_image=False, fnum=2, **kpts_kwgs)
    df2.set_figtitle('Show Chip (normal)')
    viz.show_chip(ibs, aid, in_image=True, fnum=3, **kpts_kwgs)
    df2.set_figtitle('Show Chip (in_image)')

    #----------------------
    if not query_failed:
        print('Show Query')
        viz.show_matches(ibs, qres, aid2, fnum=4)
        df2.set_figtitle('Show Chipres')

        viz.show_qres(ibs, qres, fnum=5)
        df2.set_figtitle('Show QRes')

    ##----------------------
    print('return test locals')
    return locals()