Shared body of both analyze_vision() overloads, once a GPU image is in hand: resolve the configured query, run every resolved VisionSequence, apply context filtering, run the GPU reductions.
w/h are the image's own dimensions.
Definition at line 499 of file VisionAnalyzer.cpp.
501{
503
504 std::vector<Kinesis::Vision::VisionResult> results;
505 results.reserve(resolved.size());
507
508 for (size_t lane = 0; lane < resolved.size(); ++lane) {
510 results.emplace_back();
511 }
512
514 m_results = std::make_shared<const std::vector<Kinesis::Vision::VisionResult>>(std::move(results));
515 return analysis;
516}
Kinesis::Vision::VisionQuery m_query
bool run_lane(size_t lane, const std::vector< Kinesis::Vision::ResolvedSequence > &resolved, std::vector< Kinesis::Vision::VisionResult > &results, const std::shared_ptr< Core::VKImage > &image)
Run or poll sequence lane of resolved on its executor.
std::shared_ptr< const std::vector< Kinesis::Vision::VisionResult > > m_results
Kinesis::Vision::VisionAnalysis assemble(const std::vector< Kinesis::Vision::ResolvedSequence > &resolved, const std::vector< Kinesis::Vision::VisionResult > &results, uint32_t w, uint32_t h)
Route every completed sequence result into one VisionAnalysis, apply context filtering and run the GP...
std::vector< ResolvedSequence > resolve(const VisionQuery &query)
Resolve a VisionQuery into the ResolvedSequences needed to satisfy every active intent.
References assemble(), image, m_label_lane, m_query, m_results, MayaFlux::Kinesis::Vision::resolve(), and run_lane().
Referenced by analyze_vision(), and analyze_vision().