Expression¶
Version v1
¶
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 |
The unique name of this step.. | ❌ |
data_operations |
Dict[str, List[Union[ClassificationPropertyExtract, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsSelection, DetectionsShift, Divide, ExtractDetectionProperty, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, RandomNumber, SequenceAggregate, SequenceApply, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, ToBoolean, ToNumber, ToString]]] |
UQL definitions of operations to be performed on defined data before switch-case instruction. | ❌ |
switch |
CasesDefinition |
Definition of switch-case statement. | ❌ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow
runtime. See Bindings for more info.
Available Connections¶
Check what blocks you can connect to Expression
in version v1
.
- inputs:
Template Matching
,Segment Anything 2 Model
,Blur Visualization
,Image Convert Grayscale
,VLM as Detector
,Circle Visualization
,CogVLM
,Absolute Static Crop
,LMM For Classification
,Background Color Visualization
,YOLO-World Model
,Detections Transformation
,Polygon Visualization
,Image Threshold
,OCR Model
,Detections Classes Replacement
,Image Contours
,Bounding Box Visualization
,Object Detection Model
,Roboflow Custom Metadata
,Dimension Collapse
,Clip Comparison
,First Non Empty Or Default
,Detections Filter
,Instance Segmentation Model
,Halo Visualization
,SIFT
,Roboflow Dataset Upload
,Google Gemini
,Dynamic Crop
,Image Slicer
,Detection Offset
,Detections Stitch
,Multi-Label Classification Model
,Roboflow Dataset Upload
,Barcode Detection
,Camera Focus
,Dot Visualization
,Corner Visualization
,OpenAI
,Triangle Visualization
,Relative Static Crop
,Pixel Color Count
,Pixelate Visualization
,JSON Parser
,Dynamic Zone
,Detections Consensus
,Label Visualization
,Crop Visualization
,Mask Visualization
,LMM
,Property Definition
,QR Code Detection
,Color Visualization
,VLM as Classifier
,Perspective Correction
,OpenAI
,Keypoint Detection Model
,Clip Comparison
,Anthropic Claude
,Dominant Color
,Continue If
,Expression
,SIFT Comparison
,Image Blur
,Ellipse Visualization
,Single-Label Classification Model
- outputs:
Template Matching
,Segment Anything 2 Model
,Blur Visualization
,Image Convert Grayscale
,VLM as Detector
,Circle Visualization
,CogVLM
,Absolute Static Crop
,LMM For Classification
,Background Color Visualization
,YOLO-World Model
,Detections Transformation
,Polygon Visualization
,Image Threshold
,OCR Model
,Detections Classes Replacement
,Image Contours
,Bounding Box Visualization
,Object Detection Model
,Roboflow Custom Metadata
,Dimension Collapse
,Clip Comparison
,First Non Empty Or Default
,Detections Filter
,Instance Segmentation Model
,Halo Visualization
,SIFT
,Roboflow Dataset Upload
,Google Gemini
,Dynamic Crop
,Image Slicer
,Detection Offset
,Roboflow Dataset Upload
,Detections Stitch
,Multi-Label Classification Model
,Barcode Detection
,Camera Focus
,Dot Visualization
,Corner Visualization
,OpenAI
,Triangle Visualization
,Relative Static Crop
,Pixel Color Count
,Pixelate Visualization
,JSON Parser
,Dynamic Zone
,Detections Consensus
,Label Visualization
,Crop Visualization
,Mask Visualization
,LMM
,Property Definition
,QR Code Detection
,Color Visualization
,VLM as Classifier
,Perspective Correction
,OpenAI
,Keypoint Detection Model
,Clip Comparison
,Anthropic Claude
,Dominant Color
,Continue If
,Expression
,SIFT Comparison
,Image Blur
,Ellipse Visualization
,Single-Label Classification Model
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"
}
}