Dora Node for using Hex Camera
Project description
hex_dora_node_camera
Dora nodes for capturing and viewing camera images. Supports multiple camera backends including USB cameras, Intel RealSense, Berxel depth cameras, and a dummy camera for testing.
Nodes
| Node | Description | Inputs | Outputs |
|---|---|---|---|
hex-dora-node-usb |
USB camera capture (V4L2) | tick |
color |
hex-dora-node-realsense |
Intel RealSense depth camera capture | tick |
color, depth |
hex-dora-node-berxel |
Berxel depth camera capture | tick |
color, depth |
hex-dora-node-dummy |
Dummy camera for testing (generates synthetic frames) | tick |
color |
hex-dora-node-viewer |
OpenCV window viewer for color/depth streams | tick, color, depth |
- |
Installation
# Base (includes usb, dummy, viewer)
pip install hex_dora_node_camera
# With Berxel support
pip install hex_dora_node_camera[berxel]
# With RealSense support
pip install hex_dora_node_camera[realsense]
# All backends
pip install hex_dora_node_camera[all]
YAML Examples
USB Camera
nodes:
- id: cam_usb
build: pip install hex_dora_node_camera
path: hex-dora-node-usb
inputs:
tick: dora/timer/millis/2
outputs:
- color
env:
NODE_NAME: cam_usb
FRAME_RATE: 30
HEIGHT: 480
WIDTH: 640
CAM_BUFFER_SIZE: 8
SEN_TS: True
CAM_PATH: /dev/video0
EXPOSURE: 0
TEMPERATURE: 0
COLOR_ENCODING: mjpg # bgr8 or mjpg
- id: viewer
build: pip install hex_dora_node_camera
path: hex-dora-node-viewer
inputs:
tick: dora/timer/millis/2
color: cam_usb/color
env:
NODE_NAME: viewer
SHOW_COLOR_TS: False
Intel RealSense
nodes:
- id: cam_realsense
build: pip install hex_dora_node_camera[realsense]
path: hex-dora-node-realsense
inputs:
tick: dora/timer/millis/2
outputs:
- color
- depth
env:
NODE_NAME: cam_realsense
FRAME_RATE: 30
HEIGHT: 480
WIDTH: 640
CAM_BUFFER_SIZE: 8
SEN_TS: True
SERIAL_NUMBER: b021222071077
COLOR_ENCODING: bgr8 # bgr8 or mjpg
DEPTH_ENCODING: uint16 # uint16 or png
- id: viewer
build: pip install hex_dora_node_camera
path: hex-dora-node-viewer
inputs:
tick: dora/timer/millis/2
color: cam_realsense/color
depth: cam_realsense/depth
env:
NODE_NAME: viewer
SHOW_COLOR_TS: False
Berxel Depth Camera
nodes:
- id: cam_berxel
build: pip install hex_dora_node_camera[berxel]
path: hex-dora-node-berxel
inputs:
tick: dora/timer/millis/2
outputs:
- color
- depth
env:
NODE_NAME: cam_berxel
FRAME_RATE: 30
HEIGHT: 400
WIDTH: 640
CAM_BUFFER_SIZE: 8
SEN_TS: True
SERIAL_NUMBER: bP050HYX5410E1A001
EXPOSURE: 10000
GAIN: 100
COLOR_ENCODING: bgr8 # bgr8 or mjpg
DEPTH_ENCODING: uint16 # uint16 or mjpg
- id: viewer
build: pip install hex_dora_node_camera
path: hex-dora-node-viewer
inputs:
tick: dora/timer/millis/2
color: cam_berxel/color
depth: cam_berxel/depth
env:
NODE_NAME: viewer
SHOW_COLOR_TS: False
Dummy Camera (Testing)
nodes:
- id: cam_dummy
build: pip install hex_dora_node_camera
path: hex-dora-node-dummy
inputs:
tick: dora/timer/millis/2
outputs:
- color
env:
NODE_NAME: cam_dummy
FRAME_RATE: 30
HEIGHT: 480
WIDTH: 640
CAM_BUFFER_SIZE: 8
SEN_TS: True
COLOR_ENCODING: bgr8 # bgr8 or mjpg
- id: viewer
build: pip install hex_dora_node_camera
path: hex-dora-node-viewer
inputs:
tick: dora/timer/millis/2
color: cam_dummy/color
env:
NODE_NAME: viewer
SHOW_COLOR_TS: True
Inputs
Camera Nodes (usb / realsense / berxel / dummy)
| Input | Type | Description |
|---|---|---|
tick |
dora/timer/millis/* |
Timer tick to trigger frame capture |
Viewer Node
| Input | Type | Description |
|---|---|---|
tick |
dora/timer/millis/* |
Timer tick to refresh display |
color |
Arrow array | Color image from a camera node |
depth |
Arrow array | (Optional) Depth image from a depth camera node |
Outputs
color
Arrow array containing the color image.
color_data: UInt8Array # pa.array(img.ravel()) or pa.array(jpeg_bytes)
metadata = {
"width": int, # e.g. 640
"height": int, # e.g. 480
"encoding": str, # "bgr8" or "mjpg"
"primitive": "image",
}
depth
Arrow array containing the depth image (only for realsense and berxel).
depth_data: UInt16Array # pa.array(depth.ravel()) or pa.array(png_bytes)
metadata = {
"width": int, # e.g. 640
"height": int, # e.g. 480
"encoding": str, # "uint16", "png" (realsense) or "mjpg" (berxel)
"primitive": "image",
}
Environment Variables
Common (all camera nodes)
| Variable | Type | Default | Description |
|---|---|---|---|
NODE_NAME |
str |
"" |
Dora node name |
FRAME_RATE |
int |
30 |
Camera frame rate |
HEIGHT |
int |
480 |
Image height in pixels |
WIDTH |
int |
640 |
Image width in pixels |
CAM_BUFFER_SIZE |
int |
8 |
Camera internal buffer size |
SEN_TS |
bool |
True |
Use sensor timestamp |
COLOR_ENCODING |
str |
bgr8 |
Color encoding: bgr8 or mjpg |
USB Camera
| Variable | Type | Default | Description |
|---|---|---|---|
CAM_PATH |
str |
/dev/video0 |
V4L2 device path |
EXPOSURE |
int |
100 |
Camera exposure value (0 = auto) |
TEMPERATURE |
int |
4000 |
White balance temperature (0 = auto) |
Intel RealSense
| Variable | Type | Default | Description |
|---|---|---|---|
SERIAL_NUMBER |
str |
(required) | Device serial number (prefix with b) |
DEPTH_ENCODING |
str |
uint16 |
Depth encoding: uint16 or png |
Berxel
| Variable | Type | Default | Description |
|---|---|---|---|
SERIAL_NUMBER |
str |
(required) | Device serial number (prefix with b) |
EXPOSURE |
int |
10000 |
Camera exposure value |
GAIN |
int |
100 |
Camera gain value |
DEPTH_ENCODING |
str |
uint16 |
Depth encoding: uint16 or mjpg |
Viewer
| Variable | Type | Default | Description |
|---|---|---|---|
NODE_NAME |
str |
"" |
Dora node name |
SHOW_COLOR_TS |
bool |
False |
Overlay timestamp text on color image |
License
This project is licensed under Apache-2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hex_dora_node_camera-0.0.1a2.tar.gz.
File metadata
- Download URL: hex_dora_node_camera-0.0.1a2.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78f71139b6a7542b5ff8ef5f2c59783a680cba818d7544d9e68ca59d6cb37e12
|
|
| MD5 |
3069e00083615f5fb622b0be0ac479fe
|
|
| BLAKE2b-256 |
41f78c26dd971b3a81fd1d229aeea64c0c736b7e8bc8e38c61525c527288ea50
|
File details
Details for the file hex_dora_node_camera-0.0.1a2-py3-none-any.whl.
File metadata
- Download URL: hex_dora_node_camera-0.0.1a2-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afb997ba8ec6f31aab0bfaea30a5dd67892a50d9301887f189c73db5c38d5ec7
|
|
| MD5 |
70c543cedfe3e9ad9b2285cb837eb3b6
|
|
| BLAKE2b-256 |
8ed589ed1d4c1b7eae67394a367b40de6ce9624231edbcd440197b5e5f0e6e49
|