geowatch.tasks.tracking.abstract_classes module

class geowatch.tasks.tracking.abstract_classes.TrackFunction[source]

Bases: object

Abstract class that all track functions should inherit from.

forward(sub_dset, video_id)[source]

Detect new annotations and track them in images for a single video.

Parameters:
  • sub_dset (CocoDataset)

  • video_id (int) – video to track

Returns:

kwcoco.CocoDataset

apply_per_video(coco_dset)[source]

Main entrypoint for this class.

Calls safe_apply() on each video in the coco dataset.

Parameters:

coco_dset (kwcoco.CocoDataset) – the dataset to run tracking on

Returns:

A modified or copied version of the input with new annotations and tracks.

Return type:

kwcoco.CocoDataset

Example

>>> from geowatch.tasks.tracking.abstract_classes import *  # NOQA
>>> import kwcoco
>>> self = NoOpTrackFunction()
>>> coco_dset = kwcoco.CocoDataset.coerce('vidshapes8')
>>> self.apply_per_video(coco_dset)
safe_apply(coco_dset, video_id, gids, DO_SUBSET_HACK=False)[source]
static safe_partition(coco_dset, gids)[source]
static safe_union(coco_dset, new_dset, existing_aids=[])[source]
class geowatch.tasks.tracking.abstract_classes.NoOpTrackFunction(**kwargs)[source]

Bases: TrackFunction

Use existing tracks.

forward(sub_dset, video_id)[source]
class geowatch.tasks.tracking.abstract_classes.NewTrackFunction[source]

Bases: TrackFunction

Specialization of TrackFunction to create polygons that do not yet exist in coco_dset, and add them as new annotations

forward(sub_dset, video_id)[source]
create_tracks(sub_dset, video_id)[source]
Parameters:
  • sub_dset (CocoDataset)

  • video_id (int) – video to create tracks for

Returns:

GeoDataFrame

add_tracks_to_dset(sub_dset, tracks)[source]
Parameters:

tracks (GeoDataFrame)

Returns:

kwcoco.CocoDataset

class geowatch.tasks.tracking.abstract_classes.WrappedSingleVideoCocoDataset(dset, video_id, gids)[source]

Bases: object