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