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