kwcoco.cli.coco_subset module¶
- class kwcoco.cli.coco_subset.CocoSubsetCLI[source]¶
Bases:
object
- name = 'subset'¶
- class CocoSubetConfig(*args, **kwargs)[source]¶
Bases:
DataConfig
Take a subset of this dataset and write it to a new file
Valid options: []
- Parameters:
*args – positional arguments for this data config
**kwargs – keyword arguments for this data config
- default = {'absolute': <Value('auto')>, 'channels': <Value(None)>, 'compress': <Value('auto')>, 'copy_assets': <Value(False)>, 'dst': <Value(None)>, 'gids': <Value(None)>, 'include_categories': <Value(None)>, 'select_images': <Value(None)>, 'select_videos': <Value(None)>, 'src': <Value(None)>}¶
- CLIConfig¶
alias of
CocoSubetConfig
- classmethod main(cmdline=True, **kw)[source]¶
Example
>>> from kwcoco.cli.coco_subset import * # NOQA >>> import ubelt as ub >>> dpath = ub.Path.appdir('kwcoco/tests/cli/union').ensuredir() >>> kw = {'src': 'special:shapes8', >>> 'dst': dpath / 'subset.json', >>> 'include_categories': 'superstar'} >>> cmdline = False >>> cls = CocoSubsetCLI >>> cls.main(cmdline, **kw)
- kwcoco.cli.coco_subset.query_subset(dset, config)[source]¶
Example
>>> # xdoctest: +REQUIRES(module:jq) >>> from kwcoco.cli.coco_subset import * # NOQA >>> import kwcoco >>> dset = kwcoco.CocoDataset.demo() >>> assert dset.n_images == 3 >>> # >>> config = CocoSubsetCLI.CLIConfig(**{'select_images': '.id < 3'}) >>> new_dset = query_subset(dset, config) >>> assert new_dset.n_images == 2 >>> # >>> config = CocoSubsetCLI.CLIConfig(**{'select_images': '.file_name | test(".*.png")'}) >>> new_dset = query_subset(dset, config) >>> assert all(n.endswith('.png') for n in new_dset.images().lookup('file_name')) >>> assert new_dset.n_images == 2 >>> # >>> config = CocoSubsetCLI.CLIConfig(**{'select_images': '.file_name | test(".*.png") | not'}) >>> new_dset = query_subset(dset, config) >>> assert not any(n.endswith('.png') for n in new_dset.images().lookup('file_name')) >>> assert new_dset.n_images == 1 >>> # >>> config = CocoSubsetCLI.CLIConfig(**{'select_images': '.id < 3 and (.file_name | test(".*.png"))'}) >>> new_dset = query_subset(dset, config) >>> assert new_dset.n_images == 1 >>> # >>> config = CocoSubsetCLI.CLIConfig(**{'select_images': '.id < 3 or (.file_name | test(".*.png"))'}) >>> new_dset = query_subset(dset, config) >>> assert new_dset.n_images == 3
Example
>>> # xdoctest: +REQUIRES(module:jq) >>> from kwcoco.cli.coco_subset import * # NOQA >>> import kwcoco >>> dset = kwcoco.CocoDataset.demo('vidshapes8') >>> assert dset.n_videos == 8 >>> assert dset.n_images == 16 >>> config = CocoSubsetCLI.CLIConfig(**{'select_videos': '.name == "toy_video_3"'}) >>> new_dset = query_subset(dset, config) >>> assert new_dset.n_images == 2 >>> assert new_dset.n_videos == 1
- kwcoco.cli.coco_subset._CLI¶
alias of
CocoSubsetCLI