robokudo.annotators.blur

Image blur detection for RoboKudo.

This module provides an annotator for calculating and visualizing image blur metrics using the Laplacian variance method. It can optionally halt pipeline execution if blur exceeds a threshold.

Note

The blur metric is calculated using the Laplacian operator variance, where:

  • Higher values indicate sharper images

  • Lower values indicate more blur

Classes

BlurAnnotator

Annotator for calculating and visualizing image blur metrics.

Module Contents

class robokudo.annotators.blur.BlurAnnotator(name: str = 'BlurAnnotator', descriptor: BlurAnnotator = Descriptor())

Bases: robokudo.annotators.core.BaseAnnotator

Annotator for calculating and visualizing image blur metrics.

This annotator:

  • Calculates a blur metric using Laplacian variance

  • Visualizes the blur value on the image

  • Optionally halts pipeline if blur exceeds threshold

Warning

Setting return_failure_above_threshold to True will stop pipeline advancement when the blur threshold is exceeded.

class Descriptor

Bases: robokudo.annotators.core.BaseAnnotator.Descriptor

Configuration descriptor for blur detection.

class Parameters

Parameters for configuring blur detection behavior.

blur_threshold: float = 100.0

Threshold for acceptable blur level, defaults to 100

return_failure_above_threshold: bool = True

Let this behaviour return failure to stop the advancement of the current pipeline

parameters
compute_bluriness(img: numpy.typing.NDArray) float

Compute the blur metric for an image.

Uses Laplacian variance to measure image sharpness:

  • Converts image to grayscale

  • Computes Laplacian operator

  • Returns variance of Laplacian values

Parameters:

img – Input image in BGR format

Returns:

Blur metric value (higher = sharper)

update() py_trees.common.Status

Update blur detection and visualization.

Creates visualizations containing:

  • Color image with blur metric overlay

  • Point cloud data

Returns:

SUCCESS if blur is acceptable, FAILURE if above threshold (if configured)