50 void on_attach(
const std::shared_ptr<SignalSourceContainer>& container)
override;
56 void on_detach(
const std::shared_ptr<SignalSourceContainer>& container)
override;
66 void process(
const std::shared_ptr<SignalSourceContainer>& container)
override;
70 return m_is_processing.load(std::memory_order_acquire);
103 [[nodiscard]] std::shared_ptr<Vruta::BroadcastSource<Kinesis::Vision::VisionResult>> get_result_source();
116 uint32_t m_height {};
120 std::atomic<bool> m_is_processing {
false };
121 std::shared_ptr<Vruta::BroadcastSource<Kinesis::Vision::VisionResult>>
m_result_source;
GPU execution layer for Kinesis::Vision::VisionSequence.
Interface for processing data within SignalSourceContainer objects.
std::shared_ptr< Buffers::VKBuffer > m_upload_staging
Kinesis::Vision::VisionExecutor m_cpu_executor
std::shared_ptr< Vruta::BroadcastSource< Kinesis::Vision::VisionResult > > m_result_source
Kinesis::Vision::VisionSequence m_sequence
std::unique_ptr< Yantra::VisionGpuExecutor > m_executor
std::shared_ptr< Core::VKImage > m_gpu_frame
const Kinesis::Vision::VisionResult & get_result() const
The result of the last successful process() call.
~VisionProcessor() override=default
std::vector< float > m_float_storage
bool is_processing() const override
Checks if the processor is currently performing processing.
Kinesis::Vision::VisionResult m_result
DataProcessor executing a Kinesis::Vision pipeline on pixel container data.
Stateful executor for a VisionSequence.
Result of executing a VisionSequence on one frame.
Ordered sequence of VisionSteps describing a complete vision pipeline.