Limits the number of fiftyone.core.labels.Label
instances in
the specified labels list field of each sample in a collection.
The specified field must be one of the following types:
fiftyone.core.labels.Classifications
fiftyone.core.labels.Detections
fiftyone.core.labels.Keypoints
fiftyone.core.labels.Polylines
Examples:
import fiftyone as fo from fiftyone import ViewField as F dataset = fo.Dataset() dataset.add_samples( [ fo.Sample( filepath="/path/to/image1.png", predictions=fo.Detections( detections=[ fo.Detection( label="cat", bounding_box=[0.1, 0.1, 0.5, 0.5], confidence=0.9, ), fo.Detection( label="dog", bounding_box=[0.2, 0.2, 0.3, 0.3], confidence=0.8, ), ] ), ), fo.Sample( filepath="/path/to/image2.png", predictions=fo.Detections( detections=[ fo.Detection( label="cat", bounding_box=[0.5, 0.5, 0.4, 0.4], confidence=0.95, ), fo.Detection(label="rabbit"), ] ), ), fo.Sample( filepath="/path/to/image4.png", predictions=None, ), ] ) # # Only include the first detection in the `predictions` field of each # sample # stage = fo.LimitLabels("predictions", 1) view = dataset.add_stage(stage)
Parameters | |
field | the labels list field to filter |
limit | the maximum number of labels to include in each labels list. If a non-positive number is provided, all lists will be empty |
Method | __init__ |
Undocumented |
Method | get |
Returns a list of names of fields or embedded fields that may have been edited by the stage, if any. |
Method | get |
Returns a list of names of fields or embedded fields that contain arrays have been filtered by the stage, if any. |
Method | to |
Returns the MongoDB aggregation pipeline for the stage. |
Method | validate |
Validates that the stage can be applied to the given collection. |
Property | field |
The labels field to limit. |
Property | limit |
The maximum number of labels to allow in each labels list. |
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. |
Method | _needs |
Whether the stage requires frame labels of video samples to be attached. |
Method | _needs |
Whether the stage requires group slice(s) to be attached. |
Instance Variable | _field |
Undocumented |
Instance Variable | _is |
Undocumented |
Instance Variable | _labels |
Undocumented |
Instance Variable | _limit |
Undocumented |
Inherited from ViewStage
:
Method | __eq__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | __str__ |
Undocumented |
Method | get |
Returns a list of fields that have been excluded by the stage, if any. |
Method | get |
Returns the dynamic group expression for the given stage, if any. |
Method | get |
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 |
Returns a list of fields that have been selected by the stage, if any. |
Method | load |
Loads the fiftyone.core.view.DatasetView containing the output of the stage. |
Property | has |
Whether this stage's output view should be loaded via load_view rather than appending stages to an aggregation pipeline via to_mongo . |
Property | outputs |
Whether this stage outputs or flattens dynamic groups. |
Class Method | _from |
Creates a ViewStage instance from a serialized JSON dict representation of it. |
Method | _serialize |
Returns a JSON dict representation of the ViewStage . |
Instance Variable | _uuid |
Undocumented |
Returns a list of names of fields or embedded fields that may have been edited by the stage, if any.
The "frames." prefix should be omitted when frames is True.
Parameters | |
sample | the
fiftyone.core.collections.SampleCollection to which
the stage is being applied |
frames:False | whether to return sample-level (False) or frame-level (True) fields |
Returns | |
a list of fields, or None if no fields have been edited |
Returns a list of names of fields or embedded fields that contain arrays have been filtered by the stage, if any.
For example, if a stage filters a
fiftyone.core.labels.Detections
field called
"predictions", it should include "predictions.detections" in
the returned list.
The "frames." prefix should be omitted when frames is True.
Parameters | |
sample | the
fiftyone.core.collections.SampleCollection to which
the stage is being applied |
frames:False | whether to return sample-level (False) or frame-level (True) fields |
Returns | |
a list of fields, or None if no fields have been filtered |
fiftyone.core.stages.ViewStage.to_mongo
Returns the MongoDB aggregation pipeline for the stage.
Only usable if has_view
is False.
Parameters | |
sample | the
fiftyone.core.collections.SampleCollection to which
the stage is being applied |
Returns | |
a MongoDB aggregation pipeline (list of dicts) |
fiftyone.core.stages.ViewStage.validate
Validates that the stage can be applied to the given collection.
Parameters | |
sample | a
fiftyone.core.collections.SampleCollection |
Raises | |
ViewStageError | if the stage cannot be applied to the collection |
fiftyone.core.stages.ViewStage._params
Returns a list of JSON dicts describing the stage's supported parameters.
Returns | |
a list of JSON dicts |
fiftyone.core.stages.ViewStage._kwargs
Returns a list of [name, value] lists describing the parameters of this stage instance.
Returns | |
a list of [name, value] lists |
Whether the stage requires frame labels of video samples to be attached.
Parameters | |
sample | the
fiftyone.core.collections.SampleCollection to which
the stage is being applied |
Returns | |
True/False |
Whether the stage requires group slice(s) to be attached.
Parameters | |
sample | the
fiftyone.core.collections.SampleCollection to which
the stage is being applied |
Returns | |
None, or a list of group slices |