class SelectFields(ViewStage): (source)
Constructor: SelectFields(field_names, meta_filter, _allow_missing, _media_types)
Selects only the fields with the given names from the samples in the collection. All other fields are excluded.
Note that default sample fields are always selected.
Examples:
import fiftyone as fo dataset = fo.Dataset() dataset.add_samples( [ fo.Sample( filepath="/path/to/image1.png", uniqueness=1.0, ground_truth=fo.Detections( detections=[ fo.Detection( label="cat", bounding_box=[0.1, 0.1, 0.5, 0.5], mood="surly", age=51, ), fo.Detection( label="dog", bounding_box=[0.2, 0.2, 0.3, 0.3], mood="happy", age=52, ), ] ) ), fo.Sample( filepath="/path/to/image2.png", uniqueness=0.0, ), fo.Sample( filepath="/path/to/image3.png", ), ] ) # # Include only the default fields on each sample # stage = fo.SelectFields() view = dataset.add_stage(stage) # # Include only the `uniqueness` field (and the default fields) on each # sample # stage = fo.SelectFields("uniqueness") view = dataset.add_stage(stage) # # Include only the `mood` attribute (and the default attributes) of # each `Detection` in the `ground_truth` field # stage = fo.SelectFields("ground_truth.detections.mood") view = dataset.add_stage(stage)
Parameters | |
field | a field name or iterable of field names to select. May contain embedded.field.name as well |
meta | a filter that dynamically selects fields in the collection's schema according to the specified rule, which can be matched against the field's name, type, description, and/or info. For example:
|
Method | __init__ |
Undocumented |
Method | get |
Returns a list of fields that have been selected 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 |
A list of field names to select. |
Property | meta |
A filter that dynamically selects fields. |
Class Method | _params |
Returns a list of JSON dicts describing the stage's supported parameters. |
Method | _get |
Undocumented |
Method | _get |
Undocumented |
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 | _allow |
Undocumented |
Instance Variable | _field |
Undocumented |
Instance Variable | _media |
Undocumented |
Instance Variable | _meta |
Undocumented |
Inherited from ViewStage
:
Method | __eq__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | __str__ |
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 fields that have been excluded 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 | 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 | 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 |
Undocumented
Returns a list of fields that have been selected by the stage, if any.
View stages only need to report selected fields if they insist that non-selected fields not appear in the schema of the returned view.
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 selected |
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 |