«
class documentation

class Flatten(ViewStage): (source)

Constructor: Flatten(stages)

View In Hierarchy

Returns a flattened view that contains all samples in a dynamic grouped collection.

Examples:

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

dataset = foz.load_zoo_dataset("cifar10", split="test")

# Group samples by ground truth label
grouped_view = dataset.take(1000).group_by("ground_truth.label")
print(len(grouped_view))  # 10

# Return a flat view that contains 10 samples from each class
stage = fo.Flatten(fo.Limit(10))
flat_view = grouped_view.add_stage(stage)
print(len(flat_view))  # 100
Parameters
stagesa ViewStage or list of ViewStage instances to apply to each group's samples while flattening
Method __init__ Undocumented
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 to_mongo Returns the MongoDB aggregation pipeline for the stage.
Method validate Validates that the stage can be applied to the given collection.
Property outputs_dynamic_groups Whether this stage outputs or flattens dynamic groups.
Property stages Stage(s) to apply to each group's samples while flattening.
Class Method _params Returns a list of JSON dicts describing the stage's supported parameters.
Method _kwargs Returns a list of [name, value] lists describing the parameters of this stage instance.
Instance Variable _pipeline Undocumented
Instance Variable _stages Undocumented
Instance Variable _stages_kwargs 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_selected_fields Returns a list of fields that have been selected by the stage, if any.
Method load_view Loads the fiftyone.core.view.DatasetView containing the output of the stage.
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 _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, stages=None): (source)

Undocumented

def get_media_type(self, sample_collection): (source)

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.

Parameters
sample_collectionthe fiftyone.core.collections.SampleCollection to which the stage is being applied
Returns
the media type, or None if the stage does not change the type
def to_mongo(self, sample_collection): (source)

Returns the MongoDB aggregation pipeline for the stage.

Only usable if has_view is False.

Parameters
sample_collectionthe fiftyone.core.collections.SampleCollection to which the stage is being applied
Returns
a MongoDB aggregation pipeline (list of dicts)
def validate(self, sample_collection): (source)

Validates that the stage can be applied to the given collection.

Parameters
sample_collectiona fiftyone.core.collections.SampleCollection
Raises
ViewStageErrorif the stage cannot be applied to the collection
@property
outputs_dynamic_groups = (source)

Whether this stage outputs or flattens dynamic groups.

The possible return values are:

  • True: this stage dynamically groups the input collection
  • False: this stage flattens dynamic groups
  • None: this stage does not change group status

Stage(s) to apply to each group's samples while flattening.

@classmethod
def _params(cls): (source)

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

Returns
a list of JSON dicts
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
_pipeline = (source)

Undocumented

Undocumented

_stages_kwargs = (source)

Undocumented