kwcoco.cli.coco_subset
¶
Module Contents¶
Classes¶
Functions¶
|
Example |
Attributes¶
- class kwcoco.cli.coco_subset.CocoSubsetCLI[source]¶
Bases:
object
- class CLIConfig(data=None, default=None, cmdline=False)[source]¶
Bases:
scriptconfig.Config
Take a subset of this dataset and write it to a new file
- epilog = Multiline-String[source]¶
Show Value
1 Example Usage: 2 kwcoco subset --src special:shapes8 --dst=foo.kwcoco.json 3 4 # Take only the even image-ids 5 kwcoco subset --src special:shapes8 --dst=foo-even.kwcoco.json --select_images '.id % 2 == 0' 6 7 # Take only the videos where the name ends with 2 8 kwcoco subset --src special:vidshapes8 --dst=vidsub.kwcoco.json --select_videos '.name | endswith("2")'
- 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