.. _SegmentedFramePassEngine: SegmentedFramePassEngine ======================== .. plugin:: SegmentedFramePassEngine(Predictor) Plugin Type: :py:class:`~diplomat.processing.predictor.Predictor` A predictor that applies a collection of frame passes to the frames dumped by image recognition models, and then predicts poses by selecting maximums. Contains a collection of useful prediction algorithms which can be listed by calling "get_predictor_settings" on this Predictor. This version applies passes in segments, and then stitches those segments together. .. rubric:: Settings .. py:setting:: threshold :type: RangedFloat[min=0.0, max=1.0] :value: 0.001 The minimum floating point value a pixel within the probability frame must have in order to be kept and added to the sparse matrix. .. py:setting:: max_cells_per_frame :type: Optional[RangedInteger[min=1.0, max=inf]] :value: 100 The maximum number of cells allowed in any frame. Defaults to None, meaning no strict limit is placed on cells per frame except the minimum threshold. Can be any positive integer, which will limit the number of cells in any frame score map to that value. Useful in cases where frames generated by models contain too many cells slowing computation. .. py:setting:: full_passes :type: List[Union[Tuple[str, dict], Tuple[str], str]] :value: ['ClusterFrames', 'OptimizeStandardDeviation', 'CreateSkeleton'] The passes to be run on the full list of frames, before segmentation occurs. A list of lists containing a string (the pass name) and a dictionary (the configuration for the provided plugin). If no configuration is provided, the entry can just be a string. See 'segmented_passes' setting to see what frame passes are available and what there settings are. .. py:setting:: segmented_passes :type: List[Union[Tuple[str, dict], Tuple[str], str]] :value: ['MITViterbi'] The passes to be run on partial lists of frames, after segmentation occurs. A list of lists containing a string (the pass name) and a dictionary (the configuration for the provided plugin). If no configuration is provided, the entry can just be a string. See :ref:`Frame Passes` to see the list of currently supported frame passes and options. .. py:setting:: thread_count :type: Union[Literal[None], RangedInteger[min=0.0, max=inf]] :value: None The number of threads to use when running segmented passes. Defaults to None, which resolves to os.cpu_count() at runtime. If set to 0, disables multithreading... .. py:setting:: segment_size :type: RangedInteger[min=10.0, max=inf] :value: 200 The size of the segments in frames to break the video into for tracking. .. py:setting:: export_frame_path :type: Union[Literal[None], str] :value: None A string or None specifying where to save the post forward backward frames to. If None, does not save the frames to a file. Used for debugging. .. py:setting:: export_final_probs :type: bool :value: True If true exports the final probabilities as stored in frame_probs. Otherwise exports the probabilities from src_data. This setting is internal and for debugging. Defaults to true. .. py:setting:: export_all_info :type: bool :value: False If true exports all information, both final/pre-fpe probabilities and the occluded and edge states. This allows for display of several states at once. Only works if export_frame_path is set, and overrides export_final_probs. .. py:setting:: relaxed_maximum_radius :type: RangedFloat[min=0.0, max=inf] :value: 0 Determines the radius of relaxed maximum selection. Set to 0 to disable relaxed maximum selection. This value is measured in cell units, not video units. .. py:setting:: sparsification_mode :type: Literal['IGNORE_OFFSETS', 'OFFSET_DOMINATION', 'OFFSET_COMBINATION', 'OFFSET_SUMMATION', 'UPSCALE'] :value: 'OFFSET_DOMINATION' The mode to utilize during sparsification. .. py:setting:: sparse_upscale_spread :type: RangedFloat[min=1e-08, max=inf] :value: 0.1 Only used if sparsification_mode is set to UPSCALE. If socontrols how spread out points will be when resized via gaussian. .. py:setting:: assignment_algorithm :type: Literal['greedy', 'hungarian'] :value: 'hungarian' The algorithm to use for assigning parts to bodies and stitching parts/bodies across segments.Greedy is faster/simpler, hungarian provides better results. .. py:setting:: storage_mode :type: Literal['disk', 'hybrid', 'memory'] :value: 'hybrid' Location to store frames while the algorithm is running. .. py:setting:: memory_cache_size :type: RangedInteger[min=1.0, max=inf] :value: 100 Size of lifo cache used to temporarily store frames loaded from disk if running in disk storage_mode. .. py:setting:: outlier_threshold :type: float :value: 3.0 The threshold z-score used to detect when a pose is an outlier in the skeletal distance distribution. .. py:setting:: debug :type: bool :value: False Enable debug mode, which prints extra information to the console and adds extra options to the UI if running in interactive mode. .. py:setting:: dipui_file :type: Union[Literal[None], str] :value: None A path specifying where to save the dipui file.