Source code for kwcoco.examples.getting_started_existing_dataset


[docs]def getting_started_existing_dataset(): """ If you want to start using the Python API. Just open IPython and try: """ import kwcoco dset = kwcoco.CocoDataset('<DATASET_NAME>/data.kwcoco.json') """ You can access category, image, and annotation infomation using the index: """ cat = dset.index.cats[1] print('The First Category = {!r}'.format(cat)) img = dset.index.imgs[1] print('The First Image = {!r}'.format(img)) ann = dset.index.anns[1] print('The First Annotation = {!r}'.format(ann))
[docs]def the_core_dataset_backend(): import kwcoco dset = kwcoco.CocoDataset.demo('shapes2') # Make data slightly tider for display for ann in dset.dataset['annotations']: ann.pop('segmentation', None) ann.pop('keypoints', None) ann.pop('area', None) for cat in dset.dataset['categories']: cat.pop('keypoints', None) for img in dset.dataset['images']: img.pop('channels', None) from os.path import dirname import ubelt as ub import kwarray dset.reroot(dirname(dset.fpath), absolute=False) dset.remove_annotations(kwarray.shuffle(list(dset.anns.keys()))[10:]) print('dset.dataset = {}'.format(ub.repr2(dset.dataset, nl=2)))
[docs]def demo_vectorize_interface(): """ >>> import kwcoco >>> dset = kwcoco.CocoDataset.demo('vidshapes2') >>> # >>> aids = [1, 2, 3, 4] >>> annots = dset.annots(aids) ... >>> print('annots = {!r}'.format(annots)) annots = <Annots(num=4) at ...> >>> annots.lookup('bbox') [[346.5, 335.2, 33.2, 99.4], [344.5, 327.7, 48.8, 111.1], [548.0, 154.4, 57.2, 62.1], [548.7, 151.0, 59.4, 80.5]] >>> gids = annots.lookup('image_id') >>> print('gids = {!r}'.format(gids)) gids = [1, 2, 1, 2] >>> images = dset.images(gids) >>> list(zip(images.lookup('width'), images.lookup('height'))) [(600, 600), (600, 600), (600, 600), (600, 600)] """