kwcoco.cli.find_unregistered_images module

Todo

  • [ ] Should this be renamed to find_unregsitered_assets?

Example

>>> # xdoctest: +REQUIRES(module:kwutil)
>>> import ubelt as ub
>>> import kwcoco
>>> dpath = ub.Path.appdir('kwcoco/tests/cli/find_unregistered_images')
>>> dpath.delete().ensuredir()
>>> # Create a fresh dataset, and unregister 2 images
>>> dset = kwcoco.CocoDataset.demo('vidshapes1', image_size=(8, 8), num_frames=10, dpath=dpath)
>>> image_ids = list(dset.images())
>>> dset.remove_images(list(ub.take(image_ids, [2, 5])))
>>> dset.dump()
>>> # Check that the original 10 images existed
>>> assert len(list(ub.Path(dset.bundle_dpath).glob('**/*.png'))) == 10
>>> from kwcoco.cli.find_unregistered_images import FindUnregisteredImagesCLI
>>> cls = FindUnregisteredImagesCLI
>>> cmdline = 0
>>> #
>>> # Calling FindUnregisteredImage with action=list just prints
>>> kwargs = dict(src=dset.fpath, action='list')
>>> cls.main(cmdline=cmdline, **kwargs)
>>> assert len(list(ub.Path(dset.bundle_dpath).glob('**/*.png'))) == 10
>>> # Calling FindUnregisteredImage with action=list with verbose=0 has pipeable output
>>> kwargs = dict(src=dset.fpath, action='list', verbose=0)
>>> cls.main(cmdline=cmdline, **kwargs)
>>> assert len(list(ub.Path(dset.bundle_dpath).glob('**/*.png'))) == 10
>>> #
>>> # Calling FindUnregisteredImage with action=delete removes the data
>>> kwargs = dict(src=dset.fpath, action='delete')
>>> cls.main(cmdline=cmdline, **kwargs)
>>> assert len(list(ub.Path(dset.bundle_dpath).glob('**/*.png'))) == 8
>>> # Cleanup
>>> dpath.delete()
class kwcoco.cli.find_unregistered_images.FindUnregisteredImagesCLI(*args, **kwargs)[source]

Bases: DataConfig

Find images in a kwcoco bundle that are not registered in a kwcoco file.

Based on the value of “action” list these images or delete them.

Valid options: []

Parameters:
  • *args – positional arguments for this data config

  • **kwargs – keyword arguments for this data config

classmethod main(cmdline=1, **kwargs)[source]

Example

>>> # xdoctest: +SKIP
>>> from kwcoco.cli.find_unregistered_images import *  # NOQA
>>> cmdline = 0
>>> kwargs = dict()
>>> cls = FindUnregisteredImagesCLI
>>> cls.main(cmdline=cmdline, **kwargs)
default = {'action': <Value('ask')>, 'image_dpath': <Value(None)>, 'io_workers': <Value('avail')>, 'src': <Value(None)>, 'verbose': <Value(1)>}
kwcoco.cli.find_unregistered_images.find_unregistered_images(datasets, image_dpaths)[source]
kwcoco.cli.find_unregistered_images._check_registered(dset)[source]

Build list of paths registered in the coco file

kwcoco.cli.find_unregistered_images._find_existing_images(image_dpath)[source]

Find images in a directory

kwcoco.cli.find_unregistered_images._remove_empty_dirs(dpath)[source]
kwcoco.cli.find_unregistered_images.main(cmdline=1, **kwargs)

Example

>>> # xdoctest: +SKIP
>>> from kwcoco.cli.find_unregistered_images import *  # NOQA
>>> cmdline = 0
>>> kwargs = dict()
>>> cls = FindUnregisteredImagesCLI
>>> cls.main(cmdline=cmdline, **kwargs)