Expression¶
Class: ExpressionBlockV1
Source: inference.core.workflows.core_steps.formatters.expression.v1.ExpressionBlockV1
Creates specific output based on defined input variables and configured rules - which is useful while creating business logic in workflows.
Based on configuration, block takes input data, optionally performs operation on data, save it as variables and evaluate switch-case like statements to get the final result.
Type identifier¶
Use the following identifier in step "type"
field: roboflow_core/expression@v1
to add the block as
as step in your workflow.
Properties¶
Name | Type | Description | Refs |
---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
data_operations |
Dict[str, List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]]] |
UQL definitions of operations to be performed on defined data before switch-case instruction. | ❌ |
switch |
CasesDefinition |
Define the logic to be executed.. | ❌ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow
runtime. See Bindings for more info.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to Expression
in version v1
.
- inputs:
Detection Offset
,Overlap Filter
,Stitch Images
,Detections Classes Replacement
,Halo Visualization
,VLM as Classifier
,PTZ Tracking (ONVIF)
.md),Llama 3.2 Vision
,Detections Consensus
,Label Visualization
,Segment Anything 2 Model
,Cache Set
,Roboflow Dataset Upload
,Data Aggregator
,CogVLM
,Dominant Color
,Classification Label Visualization
,Multi-Label Classification Model
,Perception Encoder Embedding Model
,Detections Merge
,Anthropic Claude
,LMM For Classification
,LMM
,Rate Limiter
,Bounding Rectangle
,Clip Comparison
,Corner Visualization
,Dot Visualization
,Image Contours
,Triangle Visualization
,Trace Visualization
,Camera Calibration
,VLM as Detector
,Bounding Box Visualization
,SIFT Comparison
,QR Code Detection
,Image Blur
,Detections Stabilizer
,Blur Visualization
,Instance Segmentation Model
,Time in Zone
,Image Convert Grayscale
,Template Matching
,Florence-2 Model
,Polygon Zone Visualization
,Stability AI Image Generation
,Pixelate Visualization
,Stitch OCR Detections
,CLIP Embedding Model
,Model Monitoring Inference Aggregator
,Identify Outliers
,Dynamic Crop
,Absolute Static Crop
,Object Detection Model
,Reference Path Visualization
,Mask Visualization
,Local File Sink
,Buffer
,Delta Filter
,CSV Formatter
,Continue If
,Google Vision OCR
,Identify Changes
,Size Measurement
,SIFT
,JSON Parser
,Ellipse Visualization
,Clip Comparison
,Cosine Similarity
,Perspective Correction
,Byte Tracker
,Roboflow Custom Metadata
,SmolVLM2
,Byte Tracker
,Webhook Sink
,Line Counter
,Crop Visualization
,Google Gemini
,Instance Segmentation Model
,Stability AI Inpainting
,Path Deviation
,OCR Model
,VLM as Detector
,Environment Secrets Store
,Image Preprocessing
,Relative Static Crop
,Keypoint Detection Model
,Barcode Detection
,Circle Visualization
,Time in Zone
,Byte Tracker
,YOLO-World Model
,Gaze Detection
,Roboflow Dataset Upload
,SIFT Comparison
,Path Deviation
,Keypoint Detection Model
,Qwen2.5-VL
,Polygon Visualization
,Dimension Collapse
,First Non Empty Or Default
,OpenAI
,Camera Focus
,Detections Filter
,Velocity
,Line Counter
,Color Visualization
,Image Threshold
,Property Definition
,Object Detection Model
,Slack Notification
,Distance Measurement
,Dynamic Zone
,Multi-Label Classification Model
,Model Comparison Visualization
,Moondream2
,Single-Label Classification Model
,Depth Estimation
,Pixel Color Count
,Florence-2 Model
,Image Slicer
,Stability AI Outpainting
,OpenAI
,Email Notification
,Single-Label Classification Model
,Detections Transformation
,Image Slicer
,Line Counter Visualization
,Grid Visualization
,Background Color Visualization
,OpenAI
,Cache Get
,Twilio SMS Notification
,Expression
,Keypoint Visualization
,VLM as Classifier
,Detections Stitch
- outputs:
Detection Offset
,Overlap Filter
,Stitch Images
,Detections Classes Replacement
,Halo Visualization
,VLM as Classifier
,PTZ Tracking (ONVIF)
.md),Llama 3.2 Vision
,Detections Consensus
,Label Visualization
,Segment Anything 2 Model
,Cache Set
,Roboflow Dataset Upload
,Data Aggregator
,CogVLM
,Classification Label Visualization
,Dominant Color
,Multi-Label Classification Model
,Perception Encoder Embedding Model
,Detections Merge
,Anthropic Claude
,LMM For Classification
,Dot Visualization
,Triangle Visualization
,Clip Comparison
,Rate Limiter
,Corner Visualization
,Bounding Rectangle
,LMM
,Image Contours
,Trace Visualization
,Camera Calibration
,VLM as Detector
,Bounding Box Visualization
,SIFT Comparison
,QR Code Detection
,Image Blur
,Detections Stabilizer
,Blur Visualization
,Instance Segmentation Model
,Time in Zone
,Image Convert Grayscale
,Template Matching
,Florence-2 Model
,Polygon Zone Visualization
,Stability AI Image Generation
,Pixelate Visualization
,Stitch OCR Detections
,CLIP Embedding Model
,Model Monitoring Inference Aggregator
,Identify Outliers
,Dynamic Crop
,Object Detection Model
,Absolute Static Crop
,Reference Path Visualization
,Mask Visualization
,Local File Sink
,Buffer
,Delta Filter
,CSV Formatter
,Continue If
,Google Vision OCR
,Identify Changes
,Size Measurement
,SIFT
,JSON Parser
,Ellipse Visualization
,Clip Comparison
,Cosine Similarity
,Perspective Correction
,Byte Tracker
,Roboflow Custom Metadata
,SmolVLM2
,Byte Tracker
,Webhook Sink
,Line Counter
,Crop Visualization
,Instance Segmentation Model
,Google Gemini
,Stability AI Inpainting
,Path Deviation
,OCR Model
,VLM as Detector
,Image Preprocessing
,Relative Static Crop
,Keypoint Detection Model
,Barcode Detection
,Circle Visualization
,Time in Zone
,Byte Tracker
,YOLO-World Model
,Gaze Detection
,Roboflow Dataset Upload
,SIFT Comparison
,Path Deviation
,Keypoint Detection Model
,Qwen2.5-VL
,Polygon Visualization
,Dimension Collapse
,First Non Empty Or Default
,OpenAI
,Camera Focus
,Detections Filter
,Velocity
,Line Counter
,Color Visualization
,Image Threshold
,Property Definition
,Object Detection Model
,Slack Notification
,Distance Measurement
,Dynamic Zone
,Multi-Label Classification Model
,Model Comparison Visualization
,Moondream2
,Single-Label Classification Model
,Depth Estimation
,Pixel Color Count
,Florence-2 Model
,Stability AI Outpainting
,Image Slicer
,OpenAI
,Email Notification
,Single-Label Classification Model
,Detections Transformation
,Image Slicer
,Line Counter Visualization
,Grid Visualization
,Background Color Visualization
,OpenAI
,Cache Get
,Twilio SMS Notification
,Keypoint Visualization
,Expression
,VLM as Classifier
,Detections Stitch
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Expression
in version v1
has.
Bindings
Example JSON definition of step Expression
in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/expression@v1",
"data": {
"predictions": "$steps.model.predictions",
"reference": "$inputs.reference_class_names"
},
"data_operations": {
"predictions": [
{
"property_name": "class_name",
"type": "DetectionsPropertyExtract"
}
]
},
"switch": {
"cases": [
{
"condition": {
"statements": [
{
"comparator": {
"type": "=="
},
"left_operand": {
"operand_name": "class_name",
"type": "DynamicOperand"
},
"right_operand": {
"operand_name": "reference",
"type": "DynamicOperand"
},
"type": "BinaryStatement"
}
],
"type": "StatementGroup"
},
"result": {
"type": "StaticCaseResult",
"value": "PASS"
},
"type": "CaseDefinition"
}
],
"default": {
"type": "StaticCaseResult",
"value": "FAIL"
},
"type": "CasesDefinition"
}
}