class documentation

Exporter that writes a labeled video dataset with labels stored in ETA VideoLabels format.

See :ref:`this page <FiftyOneVideoLabelsDataset-export>` for format details.

If the path to a video is provided, the video is directly copied to its destination, maintaining the original filename, unless a name conflict would occur, in which case an index of the form "-%d" % count is appended to the base filename.

Parameters
export_dirthe directory to write the export
export_media

controls how to export the raw media. The supported values are:

  • True (default): copy all media files into the output directory
  • "move": move all media files into the output directory
  • "symlink": create symlinks to the media files in the output directory
rel_diran optional relative directory to strip from each input filepath to generate a unique identifier for each video. When exporting media, this identifier is joined with export_dir to generate an output path for each exported video. This argument allows for populating nested subdirectories that match the shape of the input paths. The path is converted to an absolute path (if necessary) via fiftyone.core.storage.normalize_path
pretty_printwhether to render the JSON in human readable format with newlines and indentations
Method __init__ Undocumented
Method close Performs any necessary actions after the last sample has been exported.
Method export_sample Exports the given sample to the dataset.
Method log_collection Logs any relevant information about the fiftyone.core.collections.SampleCollection whose samples will be exported.
Method setup Performs any necessary setup before exporting the first sample in the dataset.
Instance Variable export_media Undocumented
Instance Variable pretty_print Undocumented
Instance Variable rel_dir Undocumented
Property frame_labels_cls The fiftyone.core.labels.Label class(es) that can be exported by this exporter at the frame-level.
Property label_cls The fiftyone.core.labels.Label class(es) that can be exported at the sample-level.
Property requires_video_metadata Whether this exporter requires fiftyone.core.metadata.VideoMetadata instances for each sample being exported.
Instance Variable _data_dir Undocumented
Instance Variable _dataset_index Undocumented
Instance Variable _description Undocumented
Instance Variable _labels_dir Undocumented
Instance Variable _manifest_path Undocumented
Instance Variable _media_exporter Undocumented

Inherited from DatasetExporter (via LabeledVideoDatasetExporter):

Method __enter__ Undocumented
Method __exit__ Undocumented
def __init__(self, export_dir, export_media=None, rel_dir=None, pretty_print=False): (source)
def close(self, *args): (source)

Performs any necessary actions after the last sample has been exported.

This method is called when the exporter's context manager interface is exited, DatasetExporter.__exit__.

Parameters
*argsthe arguments to DatasetExporter.__exit__
def export_sample(self, video_path, label, frames, metadata=None): (source)

Exports the given sample to the dataset.

Parameters
video_paththe path to a video on disk
labelan instance of label_cls, or a dictionary mapping field names to fiftyone.core.labels.Label instances, or None if the sample has no sample-level labels
framesa dictionary mapping frame numbers to dictionaries that map field names to fiftyone.core.labels.Label instances, or None if the sample has no frame-level labels
metadata:Nonea fiftyone.core.metadata.VideoMetadata instance for the sample. Only required when requires_video_metadata is True
def log_collection(self, sample_collection): (source)

Logs any relevant information about the fiftyone.core.collections.SampleCollection whose samples will be exported.

Subclasses can optionally implement this method if their export format can record information such as the fiftyone.core.collections.SampleCollection.info of the collection being exported.

By convention, this method must be optional; i.e., if it is not called before the first call to export_sample, then the exporter must make do without any information about the fiftyone.core.collections.SampleCollection (which may not be available, for example, if the samples being exported are not stored in a collection).

Parameters
sample_collectionthe fiftyone.core.collections.SampleCollection whose samples will be exported
def setup(self): (source)

Performs any necessary setup before exporting the first sample in the dataset.

This method is called when the exporter's context manager interface is entered, DatasetExporter.__enter__.

export_media: None = (source)

Undocumented

pretty_print: False = (source)

Undocumented

Undocumented

@property
frame_labels_cls = (source)

The fiftyone.core.labels.Label class(es) that can be exported by this exporter at the frame-level.

This can be any of the following:

  • a fiftyone.core.labels.Label class. In this case, the exporter directly exports frame labels of this type
  • a list or tuple of fiftyone.core.labels.Label classes. In this case, the exporter can export a single frame label field of any of these types
  • a dict mapping keys to fiftyone.core.labels.Label classes. In this case, the exporter can export multiple frame label fields with value-types specified by this dictionary. Not all keys need be present in the exported frame labels
  • None. In this case, the exporter makes no guarantees about the frame labels that it can export

The fiftyone.core.labels.Label class(es) that can be exported at the sample-level.

This can be any of the following:

  • a fiftyone.core.labels.Label class. In this case, the exporter directly exports sample-level labels of this type
  • a list or tuple of fiftyone.core.labels.Label classes. In this case, the exporter can export a single sample-level label field of any of these types
  • a dict mapping keys to fiftyone.core.labels.Label classes. In this case, the exporter can export multiple label fields with value-types specified by this dictionary. Not all keys need be present in the exported sample-level labels
  • None. In this case, the exporter makes no guarantees about the sample-level labels that it can export
@property
requires_video_metadata = (source)

Whether this exporter requires fiftyone.core.metadata.VideoMetadata instances for each sample being exported.

_data_dir = (source)

Undocumented

_dataset_index = (source)

Undocumented

_description = (source)

Undocumented

_labels_dir = (source)

Undocumented

_manifest_path = (source)

Undocumented

_media_exporter = (source)

Undocumented