29 [[nodiscard]]
static std::shared_ptr<VisionMatrix> create(
31 std::optional<VisionExtractMode> extract = {},
36 std::optional<VisionExtractMode> extract = {},
39 using GrammarAwareComputeMatrix::execute;
49 void execute(
const std::shared_ptr<Core::VKImage>&
image);
62 void execute(
const std::shared_ptr<Kakshya::SignalSourceContainer>& source,
size_t index);
77 [[nodiscard]]
const std::shared_ptr<Core::VKImage>&
frame()
const {
return m_frame; }
86 [[nodiscard]]
const std::shared_ptr<Core::VKImage>&
extraction()
const {
return m_extraction; }
104 [[nodiscard]]
const std::vector<Kinesis::Vision::VisionResult>&
results() {
return analyzer()->get_results(); }
131 const std::shared_ptr<Kakshya::SignalSourceContainer>& source,
size_t index = 0);
134 [[nodiscard]] std::shared_ptr<VisionAnalyzer>
analyzer() {
return get_operation<VisionAnalyzer>(
"analyze"); }
137 [[nodiscard]] std::shared_ptr<VisionExtractor>
extractor() {
return get_operation<VisionExtractor>(
"extract"); }
FunctionalOperation<shared_ptr<SignalSourceContainer>, vector<DataVariant>> whose real API matches En...
ComputeMatrix extension that integrates grammar-based operation selection.
std::shared_ptr< VisionExtractor > extractor()
The matrix's "extract" operation, or null when the matrix was built without a mode.
const std::vector< Kinesis::Vision::VisionResult > & results()
The VisionResult of every sequence the analyzer's last completed analysis ran, with each step's image...
double analysis_rate() const
Analyses per second arriving through execute() and extract(), smoothed over recent calls.
std::optional< std::chrono::steady_clock::time_point > m_last_call
Kinesis::Vision::VisionAnalysis m_analysis
std::shared_ptr< Core::VKImage > m_extraction
const std::shared_ptr< Core::VKImage > & extraction() const
The image the last extract() produced.
std::shared_ptr< VisionAnalyzer > analyzer()
The matrix's "analyze" operation.
std::shared_ptr< Core::VKImage > m_frame
const std::shared_ptr< Core::VKImage > & frame() const
The image the last execute() analyzed or extract() extracted from, null before the first.
const Kinesis::Vision::VisionAnalysis & analysis() const
The analysis of the last execute() or extract(), empty before the first.
Compute matrix holding one VisionAnalyzer for a query and, when an extraction mode is given,...
VisionIntent
Composable flags naming what a vision analysis should produce.
Composed context: caller-supplied data for whichever intents need it, consulted after a VisionQuery's...
Composed analysis output: one populated field per active intent that produced a result this call.
Composed query: which VisionIntents are active, and each active one's parameters.