class documentation
class Mongo(ViewStage): (source)
Constructor: Mongo(pipeline, _needs_frames, _group_slices)
A view stage defined by a raw MongoDB aggregation pipeline.
See MongoDB aggregation pipelines for more details.
Examples:
import fiftyone as fo 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/image3.png", predictions=fo.Detections( detections=[ fo.Detection( label="squirrel", bounding_box=[0.25, 0.25, 0.5, 0.5], confidence=0.5, ), ] ), ), fo.Sample( filepath="/path/to/image4.png", predictions=None, ), ] ) # # Extract a view containing the second and third samples in the dataset # stage = fo.Mongo([{"$skip": 1}, {"$limit": 2}]) view = dataset.add_stage(stage) # # Sort by the number of objects in the `precictions` field # stage = fo.Mongo([ { "$addFields": { "_sort_field": { "$size": {"$ifNull": ["$predictions.detections", []]} } } }, {"$sort": {"_sort_field": -1}}, {"$project": {"_sort_field": False}}, ]) view = dataset.add_stage(stage)
Parameters | |
pipeline | a MongoDB aggregation pipeline (list of dicts) |
Method | __init__ |
Undocumented |
Method | to |
Returns the MongoDB aggregation pipeline for the stage. |
Property | pipeline |
The MongoDB aggregation pipeline. |
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 | _group |
Undocumented |
Instance Variable | _needs |
Undocumented |
Instance Variable | _pipeline |
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 | 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. |
Method | validate |
Validates that the stage can be applied to the given collection. |
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 |
overrides
fiftyone.core.stages.ViewStage.to_mongo
Returns the MongoDB aggregation pipeline for the stage.
Only usable if has_view
is False.
Parameters | |
_ | Undocumented |
sample | the
fiftyone.core.collections.SampleCollection to which
the stage is being applied |
Returns | |
a MongoDB aggregation pipeline (list of dicts) |
overrides
fiftyone.core.stages.ViewStage._params
Returns a list of JSON dicts describing the stage's supported parameters.
Returns | |
a list of JSON dicts |
overrides
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 |