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:
Google Gemini
,Keypoint Visualization
,Detections Stabilizer
,Path Deviation
,Gaze Detection
,Reference Path Visualization
,Stitch Images
,Image Blur
,Florence-2 Model
,Barcode Detection
,Local File Sink
,Relative Static Crop
,Clip Comparison
,Cosine Similarity
,Icon Visualization
,Time in Zone
,Dimension Collapse
,Polygon Zone Visualization
,Identify Outliers
,Instance Segmentation Model
,Dynamic Zone
,Dynamic Crop
,Grid Visualization
,Property Definition
,Detections Consensus
,VLM as Classifier
,Single-Label Classification Model
,Camera Calibration
,Perception Encoder Embedding Model
,VLM as Classifier
,Pixel Color Count
,QR Code Generator
,SIFT
,Camera Focus
,Detections Filter
,Llama 3.2 Vision
,Line Counter Visualization
,Triangle Visualization
,Multi-Label Classification Model
,Email Notification
,Roboflow Dataset Upload
,Time in Zone
,Image Slicer
,Byte Tracker
,Single-Label Classification Model
,OCR Model
,Pixelate Visualization
,Byte Tracker
,Object Detection Model
,Dot Visualization
,Image Slicer
,Roboflow Dataset Upload
,OpenAI
,Model Monitoring Inference Aggregator
,VLM as Detector
,Buffer
,Stability AI Outpainting
,Trace Visualization
,Multi-Label Classification Model
,Overlap Filter
,CogVLM
,Corner Visualization
,First Non Empty Or Default
,Background Color Visualization
,Halo Visualization
,Ellipse Visualization
,OpenAI
,Anthropic Claude
,Keypoint Detection Model
,Image Contours
,Circle Visualization
,Image Threshold
,Absolute Static Crop
,Perspective Correction
,Color Visualization
,QR Code Detection
,Instance Segmentation Model
,Blur Visualization
,PTZ Tracking (ONVIF)
.md),Keypoint Detection Model
,Environment Secrets Store
,Stability AI Inpainting
,Cache Get
,SIFT Comparison
,Detections Merge
,Roboflow Custom Metadata
,SmolVLM2
,Depth Estimation
,Template Matching
,Stability AI Image Generation
,Crop Visualization
,Stitch OCR Detections
,Time in Zone
,Rate Limiter
,Continue If
,Segment Anything 2 Model
,Expression
,Dominant Color
,SIFT Comparison
,Data Aggregator
,Bounding Rectangle
,Detection Offset
,Size Measurement
,Model Comparison Visualization
,CLIP Embedding Model
,Object Detection Model
,Twilio SMS Notification
,Clip Comparison
,LMM
,CSV Formatter
,Path Deviation
,Detections Transformation
,Mask Visualization
,Byte Tracker
,Qwen2.5-VL
,JSON Parser
,Webhook Sink
,Cache Set
,Velocity
,Slack Notification
,Detections Classes Replacement
,Delta Filter
,YOLO-World Model
,Classification Label Visualization
,Polygon Visualization
,OpenAI
,LMM For Classification
,Line Counter
,Moondream2
,Bounding Box Visualization
,Distance Measurement
,Image Preprocessing
,Image Convert Grayscale
,Google Vision OCR
,Label Visualization
,Line Counter
,Detections Stitch
,Florence-2 Model
,Identify Changes
,VLM as Detector
- outputs:
Keypoint Visualization
,Google Gemini
,Detections Stabilizer
,Path Deviation
,Gaze Detection
,Reference Path Visualization
,Stitch Images
,Image Blur
,Florence-2 Model
,Local File Sink
,Barcode Detection
,Relative Static Crop
,Clip Comparison
,Cosine Similarity
,Icon Visualization
,Time in Zone
,Dimension Collapse
,Polygon Zone Visualization
,Identify Outliers
,Instance Segmentation Model
,Dynamic Zone
,Dynamic Crop
,Grid Visualization
,Property Definition
,Detections Consensus
,VLM as Classifier
,Single-Label Classification Model
,Camera Calibration
,Perception Encoder Embedding Model
,VLM as Classifier
,Pixel Color Count
,QR Code Generator
,SIFT
,Camera Focus
,Detections Filter
,Llama 3.2 Vision
,Line Counter Visualization
,Triangle Visualization
,Multi-Label Classification Model
,Email Notification
,Roboflow Dataset Upload
,Time in Zone
,Image Slicer
,Byte Tracker
,Single-Label Classification Model
,OCR Model
,Pixelate Visualization
,Byte Tracker
,Object Detection Model
,Dot Visualization
,Image Slicer
,Roboflow Dataset Upload
,OpenAI
,Model Monitoring Inference Aggregator
,VLM as Detector
,Buffer
,Trace Visualization
,Stability AI Outpainting
,Multi-Label Classification Model
,Overlap Filter
,CogVLM
,Corner Visualization
,Background Color Visualization
,First Non Empty Or Default
,Ellipse Visualization
,OpenAI
,Halo Visualization
,Anthropic Claude
,Keypoint Detection Model
,Image Contours
,Circle Visualization
,Image Threshold
,Absolute Static Crop
,Perspective Correction
,Color Visualization
,QR Code Detection
,Instance Segmentation Model
,Blur Visualization
,PTZ Tracking (ONVIF)
.md),Keypoint Detection Model
,Stability AI Inpainting
,SIFT Comparison
,Cache Get
,Detections Merge
,Roboflow Custom Metadata
,SmolVLM2
,Depth Estimation
,Template Matching
,Stability AI Image Generation
,Crop Visualization
,Stitch OCR Detections
,Time in Zone
,Continue If
,Rate Limiter
,Segment Anything 2 Model
,Dominant Color
,Expression
,SIFT Comparison
,Data Aggregator
,Bounding Rectangle
,Size Measurement
,Detection Offset
,Twilio SMS Notification
,Model Comparison Visualization
,CLIP Embedding Model
,Object Detection Model
,Clip Comparison
,LMM
,CSV Formatter
,Path Deviation
,Detections Transformation
,Mask Visualization
,Byte Tracker
,Qwen2.5-VL
,JSON Parser
,Webhook Sink
,Velocity
,Slack Notification
,Cache Set
,Detections Classes Replacement
,YOLO-World Model
,Delta Filter
,Classification Label Visualization
,Polygon Visualization
,OpenAI
,LMM For Classification
,Line Counter
,Moondream2
,Bounding Box Visualization
,Distance Measurement
,Image Preprocessing
,Image Convert Grayscale
,Google Vision OCR
,Label Visualization
,Line Counter
,Detections Stitch
,Florence-2 Model
,Identify Changes
,VLM as Detector
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"
}
}