Skip to content

Delta Filter

The Delta Filter is a flow control block that triggers workflow steps only when an input value changes. It avoids redundant processing and optimizes system efficiency.

+----------------+      (value changes)       +----------------+
| Previous Value |  ----------------------->  |   Next Steps    |
+----------------+                           +----------------+

Key Features:

Change Detection: Tracks input values and only proceeds when a change is detected. Dynamic Value Support: Handles various input types (e.g., numbers, strings). Context-Aware Caching: Tracks changes on a per-video basis using video_identifier.

Usage Instructions: Input Configuration: Set "Input Value" to reference the value to monitor (e.g., counter). Next Steps Setup: Define steps to execute on value change.

Example Use Case:

A video analysis workflow counts people in the zone. When the count changes, Delta Filter triggers downstream steps (e.g., setting variable in OPC), minimizing redundant processing.

Type identifier

Use the following identifier in step "type" field: roboflow_core/delta_filter@v1to add the block as as step in your workflow.

Properties

Name Type Description Refs
name str Enter a unique identifier for this step..

The Refs column marks possibility to parametrise the property with dynamic values available in workflow runtime. See Bindings for more info.

Available Connections

Check what blocks you can connect to Delta Filter in version v1.

Input and Output Bindings

The available connections depend on its binding kinds. Check what binding kinds Delta Filter in version v1 has.

Bindings
  • input

    • image (image): not available.
    • value (*): The input value for this step. Flow will be allowed to continue only if this value changes between frames..
    • next_steps (step): Reference to steps which shall be executed when value changes..
  • output

Example JSON definition of step Delta Filter in version v1
{
    "name": "<your_step_name_here>",
    "type": "roboflow_core/delta_filter@v1",
    "image": "<block_does_not_provide_example>",
    "value": "$steps.line_counter.count_in",
    "next_steps": "$steps.write_to_csv"
}