geowatch package

Subpackages

Submodules

Module contents

The GeoWATCH module

The GeoWATCH Gitlab Repo

https://gitlab.kitware.com/computer-vision/geowatch/

The GeoWATCH Github Repo (Mirror)

https://github.com/Kitware/geowatch/

Pypi

https://pypi.org/project/geowatch/

Read the docs

https://geowatch.readthedocs.io

Slides

Software Overview Slides and KHQ Demo Slides

Main modules of interest are:

Main Tasks:

Supported Feature Tasks:

Also see:

You probably wont need:

# Useful environs

# Phase 3
DVC_DATA_DPATH=$(geowatch_dvc --tags='phase3_data' --hardware=auto)
DVC_EXPT_DPATH=$(geowatch_dvc --tags='phase3_expt' --hardware=auto)
echo "$DVC_DATA_DPATH"
echo "$DVC_EXPT_DPATH"

# Phase 2
DVC_DATA_DPATH=$(geowatch_dvc --tags='phase2_data' --hardware=auto)
DVC_EXPT_DPATH=$(geowatch_dvc --tags='phase2_expt' --hardware=auto)
HIGHRES_DVC_EXPT_DPATH=$(geowatch_dvc --tags='smart_drop7' --hardware=auto)
DATA_DVC_DPATH=$DVC_DATA_DPATH
EXPT_DVC_DPATH=$DVC_EXPT_DPATH

# To get the above make sure you have run:
geowatch_dvc add my_phase2_data_repo --path=<path-to-your-phase2-data-dvc-repo> --hardware=hdd --priority=100 --tags=phase2_data
geowatch_dvc add my_phase2_expt_repo --path=<path-to-your-phase2-expt-dvc-repo> --hardware=hdd --priority=100 --tags=phase2_expt
# Useful Python Snippets
import geowatch
data_dvc_dpath = geowatch.find_dvc_dpath(tags='phase3_data', hardware='auto')
expt_dvc_dpath = geowatch.find_dvc_dpath(tags='phase3_expt', hardware='auto')
geowatch.coerce_kwcoco(data='geowatch-msi', **kwargs)[source]

coerce with geowatch special datasets

Calls kwcoco.CocoDataset.coerce unless the code is geowatch-msi, and then we construct a special dataset with extra variables expected by the watch project.

Parameters:
  • data (str | Coercible[kwcoco.CocoDataset]) – the special code to coerce

  • **kwargs – modify how the demodata is created. For geowatch-msi, see demo_kwcoco_multisensor(), a selection of useful args are:

    dates: bool - add random dates to images geodata: bool | dict - assign images to random geo locations.

    Can be a dict with extra options. See: func:hack_seed_geometadata_in_dset. valid keys are: enabled, region_geom

    heatmap: bool - add noisy heatmaps as channels image_size: Tuple[int, int] - control size of images num_videos: int - control number of videos num_frames: int - control length of videos num_tracks: int - control number of objects multispectral: bool - control dummy channels multisensor: bool - control dummy sensors bad_nodata: bool - control if nodata values exist max_speed: float - control speed of demo objects anchors - bounding box templates for objects, see kwcoco demo docs..

Example

>>> import geowatch
>>> dates=True
>>> geodata=True
>>> heatmap=True
>>> kwargs = {}
>>> coco_dset = geowatch.coerce_kwcoco(data='geowatch-msi', dates=dates, geodata=geodata, heatmap=heatmap)
>>> coco_dset2 = geowatch.coerce_kwcoco(data='geowatch-msi-dates-geodata-gsize32')
>>> assert 'date_captured' in coco_dset2.images().peek()
geowatch.find_dvc_dpath(name=NoParam, on_error='raise', **kwargs)[source]

Return the location of the GeoWATCH DVC Data path if it exists and is in a “standard” location.

NOTE: other team members can add their “standard” locations if they want.

SeeAlso:

GEOWATCH_DATA_DPATH=$(geowatch_dvc)

python -m geowatch.cli.find_dvc –hardware=hdd python -m geowatch.cli.find_dvc –hardware=ssd

geowatch.find_smart_dvc_dpath(*args, **kw)[source]