Circle Visualization¶
Class: CircleVisualizationBlockV1
Source: inference.core.workflows.core_steps.visualizations.circle.v1.CircleVisualizationBlockV1
Draw circular outlines around detected objects, providing an alternative to rectangular bounding boxes with a softer, more rounded visualization style.
How This Block Works¶
This block takes an image and detection predictions and draws circular outlines around each detected object. The block:
- Takes an image and predictions as input
- Calculates the center point and size for each detection based on its bounding box
- Applies color styling based on the selected color palette, with colors assigned by class, index, or track ID
- Draws circular outlines around each detected object using Supervision's CircleAnnotator
- Applies the specified circle thickness to control the line width of the circular outlines
- Returns an annotated image with circular outlines overlaid on the original image
The block draws circles that are typically centered on each detection's bounding box, with the circle size determined by the detection dimensions. Circles provide a softer, more organic visual style compared to rectangular bounding boxes, while still clearly marking the location and extent of detected objects. Unlike dot visualization (which marks specific points), circle visualization draws full circular outlines that encompass the detected objects, making it useful when you want a rounded geometric shape that's less angular than bounding boxes but more prominent than small dot markers.
Common Use Cases¶
- Soft Geometric Visualization: Use circular outlines instead of rectangular bounding boxes for a softer, more organic visual style in presentations, dashboards, or user interfaces where rounded shapes are preferred
- Object Highlighting with Rounded Shapes: Highlight detected objects with circular outlines when working with circular or spherical objects (e.g., balls, coins, circular logos, round products) where circles naturally fit the object shape
- Aesthetic Visualization Alternatives: Create visually distinct annotations compared to standard bounding boxes for design purposes, artistic visualizations, or when circular shapes better match the overall design aesthetic
- Detection Visualization with Variation: Provide an alternative visualization style to bounding boxes for comparison, experimentation, or when multiple visualization types are used together to distinguish different detection sets
- User Interface Design: Use circular outlines in user interfaces, mobile apps, or interactive displays where rounded shapes are more visually appealing or match design guidelines
- Scientific and Medical Imaging: Visualize detections with circular outlines in scientific or medical imaging contexts where rounded shapes may be more appropriate than angular bounding boxes
Connecting to Other Blocks¶
The annotated image from this block can be connected to:
- Other visualization blocks (e.g., Label Visualization, Dot Visualization, Bounding Box Visualization) to combine circular outlines with additional annotations for comprehensive visualization
- Data storage blocks (e.g., Local File Sink, CSV Formatter, Roboflow Dataset Upload) to save annotated images with circular outlines for documentation, reporting, or analysis
- Webhook blocks to send visualized results with circular outlines to external systems, APIs, or web applications for display in dashboards or monitoring tools
- Notification blocks (e.g., Email Notification, Slack Notification) to send annotated images with circular outlines as visual evidence in alerts or reports
- Video output blocks to create annotated video streams or recordings with circular outlines for live monitoring, tracking visualization, or post-processing analysis
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/circle_visualization@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
copy_image |
bool |
Enable this option to create a copy of the input image for visualization, preserving the original. Use this when stacking multiple visualizations.. | ✅ |
color_palette |
str |
Select a color palette for the visualised elements.. | ✅ |
palette_size |
int |
Specify the number of colors in the palette. This applies when using custom or Matplotlib palettes.. | ✅ |
custom_colors |
List[str] |
Define a list of custom colors for bounding boxes in HEX format.. | ✅ |
color_axis |
str |
Choose how bounding box colors are assigned.. | ✅ |
thickness |
int |
Thickness of the circle outline in pixels. Higher values create thicker, more visible circular outlines.. | ✅ |
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 Circle Visualization in version v1.
- inputs:
Detections Stabilizer,Velocity,Keypoint Detection Model,Distance Measurement,SIFT Comparison,Instance Segmentation Model,Anthropic Claude,Google Vision OCR,Circle Visualization,Image Slicer,Mask Edge Snap,Detections Filter,Google Gemini,Identify Outliers,Image Contours,Qwen 3.6 API,Detections Merge,Single-Label Classification Model,Byte Tracker,Roboflow Vision Events,Depth Estimation,Line Counter Visualization,VLM As Detector,Stitch Images,Morphological Transformation,LMM,Model Comparison Visualization,Buffer,Segment Anything 2 Model,MoonshotAI Kimi,Grid Visualization,Instance Segmentation Model,Twilio SMS/MMS Notification,OpenAI,Detections Classes Replacement,Clip Comparison,Twilio SMS Notification,SAM 3,Qwen-VL,S3 Sink,SAM 3,Halo Visualization,Camera Focus,SIFT Comparison,Local File Sink,Keypoint Detection Model,Mask Visualization,SIFT,Path Deviation,Anthropic Claude,MoonshotAI Kimi,Roboflow Dataset Upload,Text Display,Image Slicer,Multi-Label Classification Model,Absolute Static Crop,Llama 3.2 Vision,VLM As Classifier,PTZ Tracking (ONVIF),Path Deviation,GLM-OCR,Object Detection Model,Roboflow Custom Metadata,Email Notification,Dynamic Crop,Detections Combine,Mask Area Measurement,Seg Preview,Instance Segmentation Model,Time in Zone,OpenRouter,Model Monitoring Inference Aggregator,Contrast Enhancement,Motion Detection,Per-Class Confidence Filter,Webhook Sink,Google Gemma API,Stability AI Image Generation,SAM2 Video Tracker,Color Visualization,Heatmap Visualization,Contrast Equalization,Object Detection Model,YOLO-World Model,Google Gemini,Roboflow Dataset Upload,Slack Notification,Anthropic Claude,QR Code Generator,Detection Offset,Clip Comparison,OpenAI,Bounding Box Visualization,SAM 3,VLM As Classifier,Florence-2 Model,Overlap Filter,Image Blur,Keypoint Detection Model,Detections Consensus,Dot Visualization,Polygon Zone Visualization,Label Visualization,Icon Visualization,Image Threshold,LMM For Classification,Object Detection Model,OC-SORT Tracker,Blur Visualization,Line Counter,Bounding Rectangle,Relative Static Crop,Dimension Collapse,Trace Visualization,Moondream2,Qwen3.5-VL,Size Measurement,Dynamic Zone,Florence-2 Model,Camera Focus,CogVLM,Pixelate Visualization,Time in Zone,Image Convert Grayscale,Byte Tracker,Keypoint Visualization,Llama 3.2 Vision,Polygon Visualization,Line Counter,Google Gemma,Classification Label Visualization,Image Stack,Morphological Transformation,Gaze Detection,Camera Calibration,Email Notification,Google Gemini,Image Preprocessing,Corner Visualization,Stitch OCR Detections,Detections Transformation,Halo Visualization,Byte Tracker,Roboflow Asset Library Attributes,ByteTrack Tracker,Reference Path Visualization,OpenAI,Background Color Visualization,Identify Changes,JSON Parser,Detections Stitch,Ellipse Visualization,CSV Formatter,Stability AI Outpainting,VLM As Detector,EasyOCR,Triangle Visualization,OCR Model,Crop Visualization,Perspective Correction,Qwen 3.5 API,Detection Event Log,Stitch OCR Detections,OpenAI-Compatible LLM,Detections List Roll-Up,BoT-SORT Tracker,Instance Segmentation Model,SORT Tracker,Time in Zone,Polygon Visualization,Background Subtraction,Template Matching,Pixel Color Count,OpenAI,Stability AI Inpainting - outputs:
Detections Stabilizer,Keypoint Detection Model,Instance Segmentation Model,Anthropic Claude,Google Vision OCR,Circle Visualization,Barcode Detection,Image Slicer,Mask Edge Snap,Google Gemini,Image Contours,Qwen 3.6 API,Single-Label Classification Model,CLIP Embedding Model,Byte Tracker,Roboflow Vision Events,Depth Estimation,Line Counter Visualization,VLM As Detector,Stitch Images,Morphological Transformation,LMM,Model Comparison Visualization,Buffer,MoonshotAI Kimi,Segment Anything 2 Model,Instance Segmentation Model,Twilio SMS/MMS Notification,OpenAI,Clip Comparison,Dominant Color,SAM 3,Qwen-VL,SAM 3,Halo Visualization,Keypoint Detection Model,Camera Focus,Semantic Segmentation Model,SIFT Comparison,Multi-Label Classification Model,Mask Visualization,SmolVLM2,SIFT,Anthropic Claude,MoonshotAI Kimi,Roboflow Dataset Upload,Text Display,Image Slicer,Multi-Label Classification Model,Absolute Static Crop,Llama 3.2 Vision,VLM As Classifier,GLM-OCR,Object Detection Model,Email Notification,Seg Preview,Dynamic Crop,Instance Segmentation Model,OpenRouter,Contrast Enhancement,Motion Detection,Qwen3-VL,Google Gemma API,Stability AI Image Generation,SAM2 Video Tracker,Color Visualization,Heatmap Visualization,Contrast Equalization,Object Detection Model,YOLO-World Model,Google Gemini,Roboflow Dataset Upload,Single-Label Classification Model,Anthropic Claude,Clip Comparison,OpenAI,Qwen3.5,Bounding Box Visualization,SAM 3,Florence-2 Model,VLM As Classifier,Image Blur,Keypoint Detection Model,Qwen2.5-VL,Dot Visualization,Polygon Zone Visualization,Label Visualization,Icon Visualization,Image Threshold,LMM For Classification,Object Detection Model,OC-SORT Tracker,Blur Visualization,Relative Static Crop,Qwen3.5-VL,Moondream2,Trace Visualization,Perception Encoder Embedding Model,QR Code Detection,Camera Focus,Florence-2 Model,CogVLM,Pixelate Visualization,Llama 3.2 Vision,Image Convert Grayscale,Keypoint Visualization,Polygon Visualization,Google Gemma,Classification Label Visualization,Multi-Label Classification Model,Image Stack,Gaze Detection,Morphological Transformation,Camera Calibration,Google Gemini,Image Preprocessing,Semantic Segmentation Model,Corner Visualization,Halo Visualization,ByteTrack Tracker,Reference Path Visualization,OpenAI,Detections Stitch,Background Color Visualization,Single-Label Classification Model,Ellipse Visualization,Stability AI Outpainting,VLM As Detector,EasyOCR,Triangle Visualization,OCR Model,Crop Visualization,Perspective Correction,Qwen 3.5 API,BoT-SORT Tracker,Instance Segmentation Model,SORT Tracker,Time in Zone,Polygon Visualization,Background Subtraction,Template Matching,Pixel Color Count,OpenAI,Stability AI Inpainting
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Circle Visualization in version v1 has.
Bindings
-
input
image(image): The image to visualize on..copy_image(boolean): Enable this option to create a copy of the input image for visualization, preserving the original. Use this when stacking multiple visualizations..predictions(Union[keypoint_detection_prediction,rle_instance_segmentation_prediction,object_detection_prediction,instance_segmentation_prediction]): Model predictions to visualize..color_palette(string): Select a color palette for the visualised elements..palette_size(integer): Specify the number of colors in the palette. This applies when using custom or Matplotlib palettes..custom_colors(list_of_values): Define a list of custom colors for bounding boxes in HEX format..color_axis(string): Choose how bounding box colors are assigned..thickness(integer): Thickness of the circle outline in pixels. Higher values create thicker, more visible circular outlines..
-
output
image(image): Image in workflows.
Example JSON definition of step Circle Visualization in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/circle_visualization@v1",
"image": "$inputs.image",
"copy_image": true,
"predictions": "$steps.object_detection_model.predictions",
"color_palette": "DEFAULT",
"palette_size": 10,
"custom_colors": [
"#FF0000",
"#00FF00",
"#0000FF"
],
"color_axis": "CLASS",
"thickness": 2
}