class documentation

Creates a view that contains one sample per clip defined by the given field or expression in a video collection.

The returned view will contain:

  • A sample_id field that records the sample ID from which each clip was taken
  • A support field that records the [first, last] frame support of each clip
  • All frame-level information from the underlying dataset of the input collection

Refer to fiftyone.core.clips.make_clips_dataset to see the available configuration options for generating clips.

Note

The clip generation logic will respect any frame-level modifications defined in the input collection, but the output clips will always contain all frame-level labels.

Examples:

import fiftyone as fo
import fiftyone.zoo as foz
from fiftyone import ViewField as F

dataset = foz.load_zoo_dataset("quickstart-video")

#
# Create a clips view that contains one clip for each contiguous
# segment that contains at least one road sign in every frame
#

stage1 = fo.FilterLabels("frames.detections", F("label") == "road sign")
stage2 = fo.ToClips("frames.detections")
clips = dataset.add_stage(stage1).add_stage(stage2)
print(clips)

#
# Create a clips view that contains one clip for each contiguous
# segment that contains at least two road signs in every frame
#

signs = F("detections.detections").filter(F("label") == "road sign")
stage = fo.ToClips(signs.length() >= 2)
clips = dataset.add_stage(stage)
print(clips)
Parameters
field_or_expr

can be any of the following:

configan optional dict of keyword arguments for fiftyone.core.clips.make_clips_dataset specifying how to perform the conversion
**kwargsoptional keyword arguments for fiftyone.core.clips.make_clips_dataset specifying how to perform the conversion
Method __init__ Undocumented
Method load_view Loads the fiftyone.core.view.DatasetView containing the output of the stage.
Property config Parameters specifying how to perform the conversion.
Property field_or_expr The field or expression defining how to extract the clips.
Property has_view Whether this stage's output view should be loaded via load_view rather than appending stages to an aggregation pipeline via to_mongo.
Class Method _params Returns a list of JSON dicts describing the stage's supported parameters.
Method _get_mongo_field_or_expr Undocumented
Method _kwargs Returns a list of [name, value] lists describing the parameters of this stage instance.
Instance Variable _config Undocumented
Instance Variable _field_or_expr Undocumented
Instance Variable _state Undocumented

Inherited from ViewStage:

Method __eq__ Undocumented
Method __repr__ Undocumented
Method __str__ Undocumented
Method get_edited_fields Returns a list of names of fields or embedded fields that may have been edited by the stage, if any.
Method get_excluded_fields Returns a list of fields that have been excluded by the stage, if any.
Method get_filtered_fields Returns a list of names of fields or embedded fields that contain arrays have been filtered by the stage, if any.
Method get_group_expr Returns the dynamic group expression for the given stage, if any.
Method get_group_media_types Returns the group media types outputted by this stage, if any, when applied to the given collection, if and only if they are different from the input collection.
Method get_media_type Returns the media type outputted by this stage when applied to the given collection, if and only if it is different from the input type.
Method get_selected_fields Returns a list of fields that have been selected by the stage, if any.
Method to_mongo Returns the MongoDB aggregation pipeline for the stage.
Method validate Validates that the stage can be applied to the given collection.
Property flattens_groups Whether this stage flattens groups into a non-grouped collection.
Property outputs_dynamic_groups Whether this stage outputs or flattens dynamic groups.
Class Method _from_dict Creates a ViewStage instance from a serialized JSON dict representation of it.
Method _needs_frames Whether the stage requires frame labels of video samples to be attached.
Method _needs_group_slices Whether the stage requires group slice(s) to be attached.
Method _serialize Returns a JSON dict representation of the ViewStage.
Instance Variable _uuid Undocumented
def __init__(self, field_or_expr, config=None, _state=None, **kwargs): (source)

Undocumented

def load_view(self, sample_collection): (source)

Loads the fiftyone.core.view.DatasetView containing the output of the stage.

Only usable if has_view is True.

Parameters
sample_collectionthe fiftyone.core.collections.SampleCollection to which the stage is being applied
Returns
a fiftyone.core.view.DatasetView

Parameters specifying how to perform the conversion.

@property
field_or_expr = (source)

The field or expression defining how to extract the clips.

Whether this stage's output view should be loaded via load_view rather than appending stages to an aggregation pipeline via to_mongo.

@classmethod
def _params(self): (source)

Returns a list of JSON dicts describing the stage's supported parameters.

Returns
a list of JSON dicts
def _get_mongo_field_or_expr(self): (source)

Undocumented

def _kwargs(self): (source)

Returns a list of [name, value] lists describing the parameters of this stage instance.

Returns
a list of [name, value] lists

Undocumented

_field_or_expr = (source)

Undocumented

Undocumented