Visualize avatar

Visualize

1 version
Open in App

Visualize

Summary: Fast overlays for boxes, masks, landmarks, and captions with configurable styles and thresholds.

Use This When

  • You want fast overlays for boxes, masks, landmarks, and captions.

What It Does

  • Draws provided inputs on the image with configurable styles.
  • Adds labels for bounding boxes via (BoundingBox, String) or a list thereof.
  • Annotates points via (Point, String) in addition to plain point markers.

Works Best With

  • Detectors, segmenters, trackers, and text sources.

Caveats

  • Uses confidence thresholds; class names improve labels.

Supported Inputs

  • Required first input: Image
  • Additional inputs can be provided in any order; unknown inputs are ignored.
  • Multiple inputs of the same kind are supported and rendered in arrival order.

Recognized input types and behavior:

  • BoundingBox, [BoundingBox]
    • Draws boxes whose confidence ≥ confidence_threshold.
    • Config: bbox_thickness, confidence_threshold, input_colors (override color per non-image input index).
  • (BoundingBox, UInt64), [(BoundingBox, UInt64)]
    • Draws boxes and adds an “ID <n>” label next to each.
    • Config: bbox_thickness, confidence_threshold, input_colors.
  • (BoundingBox, String), [(BoundingBox, String)]
    • Draws boxes and adds the provided string label next to each.
    • Config: bbox_thickness, confidence_threshold, input_colors.
  • Landmark, [Landmark], [[Landmark]]
    • Draws keypoints (flat or nested collections) using landmark style.
    • Config: landmark_confidence_threshold, landmark_radius, landmark_thickness.
  • Point<Double>, [Point<Double>]
    • Draws simple point markers.
    • Can render a list of points as a polygon when configured.
    • Config: landmark_radius, landmark_thickness (marker appearance), list_points_polygon_indices (treat selected non-image inputs as polygons), input_colors (optional per-input color overrides).
  • Vector2d<Double>, [Vector2d<Double>]
    • Draws arrowed vectors from position to position + orientation.
    • Uses bbox_thickness for line width.
    • Config: input_colors (override arrow color per non-image input index).
  • (Point<Double>, String), [(Point<Double>, String)]
    • Draws labeled point markers.
    • Config: uses point marker settings (landmark_radius, landmark_thickness); label style is fixed for readability.
  • Segmentation, [Segmentation]
    • Overlays per-class masks with a fixed palette; labels use class_names if supplied.
    • Config: confidence_threshold, class_names, input_colors (override overlay color per non-image input).
  • [(Segmentation, BoundingBox)]
    • Overlays masks and outlines paired boxes; also writes class label/confidence.
    • Config: confidence_threshold, class_names, input_colors; paired-box outline uses the same color as the overlay for that input; bbox_thickness controls line width.
  • String
    • Renders a caption with background shading at caption_position; text is prefixed with prompt. Newlines (\n) start new lines; no auto-wrapping.
    • Config: caption_position, fontScale, thickness, prompt, input_colors (overrides caption text color per non-image input index), background_colors (overrides caption background color per non-image input index).

Rendering order and thresholds:

  • Inputs are processed in the order provided; later overlays can draw on top of earlier ones.
  • confidence_threshold filters BoundingBox and Segmentation items only.
  • landmark_confidence_threshold filters individual Landmark points.

Notes On Rendering And Thresholds

  • Later inputs can draw over earlier ones (stacking order = input order).
  • confidence_threshold applies to boxes and masks; landmark_confidence_threshold applies to landmarks only.

Per-Input Colors and Polygons

  • list_points_polygon_indices is a list of zero-based indices referencing non-image inputs that should be drawn as polygons instead of individual points. The first non-image input has index 0.
  • input_colors allows setting optional color overrides per non-image input as (index, (R, G, B)). When a color is provided:
    • For [Point<Double>] treated as points, the given color is used for the markers.
    • For [Point<Double>] treated as polygons, the given color is used for the polyline; if absent, a default stroke color is used.
    • For BoundingBox/[BoundingBox], rectangles, and ID-labeled variants, the override color is used for strokes and label text.
    • For Segmentation/[Segmentation] and [(Segmentation, BoundingBox)], the override color replaces the palette color for that input’s overlay and its paired box outline.

Examples

  • Draw boxes and an operator caption:
    • Inputs: Image, [BoundingBox], String
  • Label boxes with IDs (tracking):
    • Inputs: Image, [(BoundingBox, UInt64)]
  • Label boxes with custom strings (status/codes):
    • Inputs: Image, [(BoundingBox, String)]
  • Annotate points with short tags:
    • Inputs: Image, [(Point<Double>, String)]
  • Overlay masks with paired boxes and labels:
    • Inputs: Image, [(Segmentation, BoundingBox)]

Versions

  • add979dclinux/amd64

    Automated release