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