geowatch.cli.coco_add_watch_fields module¶
Adds fields needed by ndsampler to correctly “watch” a region.
Some of this is done hueristically. We assume images come from certain sensors. We assume input is orthorectified. We assume some GSD “target” gsd for video and image processing. Note a video GSD will typically be much higher (i.e. lower resolution) than an image GSD.
- SeeAlso:
~/code/watch/geowatch/utils/kwcoco_extensions.py
- class geowatch.cli.coco_add_watch_fields.AddWatchFieldsConfig(*args, **kwargs)[source]¶
Bases:
DataConfigUpdates kwcoco image transforms and sets video space to a target GSD.
Valid options: []
- Parameters:
*args – positional arguments for this data config
**kwargs – keyword arguments for this data config
- default = {'default_gsd': <Value(None)>, 'dst': <Value(None)>, 'edit_geotiff_metadata': <Value(False)>, 'enable_intensity_stats': <Value(False)>, 'enable_valid_region': <Value(False)>, 'enable_video_stats': <Value(True)>, 'inplace': <Value(False)>, 'mode': <Value('process')>, 'overwrite': <Value(False)>, 'remove_broken': <Value(False)>, 'skip_populate_errors': <Value(False)>, 'src': <Value('data.kwcoco.json')>, 'target_gsd': <Value(10.0)>, 'workers': <Value(0)>}¶
- normalize()¶
- geowatch.cli.coco_add_watch_fields.main(cmdline=True, **kwargs)[source]¶
CommandLine
kwcoco toydata --key vidshapes8-multispectral --dst toydata.kwcoco.json jq .images[0].auxiliary[0].file_name toydata.kwcoco.json kwcoco stats toydata.kwcoco.json kwcoco validate toydata.kwcoco.json jq .videos toydata.kwcoco.json jq .images[0] toydata.kwcoco.json python -m geowatch.cli.coco_add_watch_fields \ --src toydata.kwcoco.json \ --dst toydata-gsd10.kwcoco.json \ --target_gsd=10 jq .videos toydata-gsd10.kwcoco.json jq .images[0] toydata-gsd10.kwcoco.json
Example
>>> from geowatch.cli.coco_add_watch_fields import * # NOQA >>> import kwcoco >>> # TODO: make a demo dataset with some sort of gsd metadata >>> dset = kwcoco.CocoDataset.demo('vidshapes8-multispectral') >>> print('dset = {!r}'.format(dset)) >>> target_gsd = 13.0 >>> main(cmdline=False, src=dset, dst='return', target_gsd=target_gsd, default_gsd=1) >>> print('dset.index.imgs[1] = ' + ub.urepr(dset.index.imgs[1], nl=2)) >>> print('dset.index.videos = {}'.format(ub.urepr(dset.index.videos, nl=1)))