robokudo.descriptors.analysis_engines.parallel ============================================== .. py:module:: robokudo.descriptors.analysis_engines.parallel .. autoapi-nested-parse:: Analysis engine demonstrating parallel processing capabilities. This module provides an analysis engine that demonstrates how to implement parallel processing within a pipeline. It shows how to configure and execute multiple annotators concurrently using a parallel execution policy. The pipeline implements the following functionality: * Kinect camera data input * Pipeline trigger for controlled execution * Parallel execution of slow annotators * Synchronized completion policy .. note:: This is a demonstration pipeline that uses simulated slow annotators to illustrate parallel processing behavior. The annotators have different sleep durations to show asynchronous execution. Classes ------- .. autoapisummary:: robokudo.descriptors.analysis_engines.parallel.AnalysisEngine Module Contents --------------- .. py:class:: AnalysisEngine Bases: :py:obj:`robokudo.analysis_engine.AnalysisEngineInterface` Analysis engine demonstrating parallel processing capabilities. This class implements a pipeline that demonstrates parallel execution of annotators. It uses the BetterParallel component with a synchronized completion policy to ensure all parallel tasks complete before proceeding. The pipeline includes: * Pipeline trigger for controlled execution * Camera data collection and preprocessing * Fast annotator (1s processing time) * Parallel slow annotators (2s and 4s processing times) * Final slow annotator (2s processing time) .. note:: The pipeline uses simulated processing times to demonstrate the benefits of parallel execution compared to sequential processing. .. py:method:: name() Get the name of the analysis engine. :return: The name identifier of this analysis engine :rtype: str .. py:method:: implementation() Create a pipeline with parallel processing capabilities. This method constructs a processing pipeline that demonstrates parallel execution of annotators. It configures two slow annotators to run in parallel, with different processing times to show asynchronous execution. Pipeline execution sequence: 1. Pipeline trigger (wait for user) 2. Clear outputs 3. Read camera data 4. Preprocess image 5. Fast annotator (1s) 6. Parallel annotators (2s and 4s) 7. Final slow annotator (2s) :return: The configured pipeline with parallel processing :rtype: robokudo.pipeline.Pipeline