|
MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
|
| MAYAFLUX_API std::vector< ResolvedSequence > MayaFlux::Kinesis::Vision::resolve | ( | const VisionQuery & | query | ) |
Resolve a VisionQuery into the ResolvedSequences needed to satisfy every active intent.
TrackObjects and EstimateMotion, when both active, resolve into one sequence sharing a tail; neither can be split back apart afterward. Every other active intent gets its own sequence, seeded from whichever leading steps it has in common with the first sequence (matched by VisionOp and params) instead of recomputing them. Sharing happens only when neither sequence runs a step that overwrites the executor's shared output images after the shared prefix, because such a step would already have destroyed the seed. Seeded sequences are returned right after the first, unseeded ones last, and DetectEdges last of all so the edge image it hands back is not overwritten by a later sequence.
| query | Active intents and their parameters. |
Definition at line 170 of file VisionQuery.cpp.
References chain, MayaFlux::Kinesis::Vision::VisionQuery::detect_edges, MayaFlux::Kinesis::Vision::VisionQuery::detect_features, DetectEdges, DetectFeatures, MayaFlux::Kinesis::Vision::VisionQuery::estimate_motion, EstimateMotion, MayaFlux::Kinesis::Vision::VisionQuery::find_elements, FindElements, MayaFlux::Kinesis::Vision::VisionQuery::intents, MayaFlux::Kinesis::Vision::VisionQuery::measure_appearance, MeasureAppearance, RgbaToGray, MayaFlux::Kinesis::Vision::ResolvedSequence::seed_field, MayaFlux::Kinesis::Vision::ResolvedSequence::seed_lane, MayaFlux::Kinesis::Vision::ResolvedSequence::sequence, MayaFlux::Kinesis::Vision::VisionSequence::steps, MayaFlux::Kinesis::Vision::VisionQuery::track_objects, and TrackObjects.
Referenced by MayaFlux::Yantra::VisionAnalyzer::advance(), MayaFlux::Yantra::VisionAnalyzer::analyze_resolved(), and MayaFlux::Yantra::Vision::VisionMatrix::result().
Here is the caller graph for this function: