Files
dora-image-view/dora-node.yml
T
cristhian 00dc4c7b71 rename node to dora-image-view
The repository, the Python package, the entrypoint and the manifest name all
now agree. `plot` was carried over from the upstream opencv-plot node and no
longer described anything here, so the module, the class and the environment
variables follow the node:

  dora_plot/         -> dora_image_view/
  dora_plot/plot.py  -> dora_image_view/view.py
  Plot               -> View
  PLOT_WIDTH/HEIGHT  -> VIEW_WIDTH/HEIGHT
  --plot-width/-height -> --view-width/-height

Breaking for anyone wiring `path: dora-plot` or setting PLOT_WIDTH; nothing is
tagged yet.
2026-09-15 03:22:27 -03:00

65 lines
2.3 KiB
YAML

# Node manifest: the typed contract a consumer wires against.
#
# No source package is shared between node repositories, so this file and its
# type URNs are the only contract a consumer has. `dora validate` checks a
# dataflow against it without running the node, so CI needs neither OpenCV nor
# a display.
apiVersion: 1
name: dora-image-view
namespace: liria
description: Overlays bounding boxes, labels, and text on an image input and displays it in an OpenCV window
categories: [visualization, debug]
keywords: [opencv, view, bbox, bounding-box, image, visualization, object-detection]
runtime: python
entrypoint: dora-image-view
# `dora build --uv` / `dora run --uv` rewrites this to `uv pip install .` and
# gives the node its own managed venv under `.dora/python-envs/`, so the
# dependencies it sees at runtime are the ones installed here.
build: pip install .
dora: ">=1.0"
inputs:
image:
type: std/core/v1/UInt8
required: false
description: >-
Base image to draw on: a flat UInt8 buffer described by the metadata
{width, height, encoding}. Supported encodings: bgr8, rgb8,
jpeg/jpg/jpe/bmp/webp/png (encoded bytes), yuv420, avif. Receiving this
input triggers a redraw and display.
bbox:
required: false
description: >-
Bounding boxes to overlay: an Arrow struct with fields {bbox, conf,
labels} and metadata {format}. Supported formats: xyxy, xywh. Stored and
drawn on the next image redraw. Deliberately untyped — senders differ in
whether the numeric fields are 32- or 64-bit, and the node casts either.
text:
type: std/core/v1/String
required: false
description: >-
Text string to overlay at the top-left corner. Stored and drawn on the
next image redraw.
outputs: {}
env:
VIEW_WIDTH:
type: int
description: Resize the displayed frame to this width (pixels). Defaults to the image input width.
VIEW_HEIGHT:
type: int
description: Resize the displayed frame to this height (pixels). Defaults to the image input height.
example: |
- id: view
git: ssh://git@gitea.liria.cl:5001/liria/dora-image-view.git
tag: v0.1.0
build: pip install .
path: dora-image-view
inputs:
image: camera/image
bbox: detector/bbox
text: detector/text