Libargus is a library developed by NVIDIA for images and the associated metadata from cameras. It is part of the l4t-multimedia package.
The Hawk GXF extensions wrap the libargus API to provide an interface, specifically for the Hawk and Owl cameras. The node takes no inputs from GXF and can be configured to output either a single or stereo image stream.
None
camera_type
: The type of camera to use. A 0 value specifies the Owl camera; a 1 value specifies the Hawk camera.camera_id
: The camera ID to use for an Owl cameramodule_id
: The module ID to use for a Hawk stereo camera.output_format
: The output format of the camera. A 0 value specifies yuv420 (nv12); a 1 value specifies yuv444 (nv24).frame_rate
: The frame rate of the camera. Currently, only 30 FPS is supported.resolution
: The resolution of the camera. Currently, only 1920x1200 is supported.
left_camera_output
: The left camera output for a stereo camera, or the output channel for a single camera (CameraMessage).right_camera_output
: The right camera output for a stereo camera (CameraMessage)
The following is a simple example hooking up a HAWK stereo camera to Sight for visualization.
---
name: sight
components:
- name: sight_router
type: nvidia::isaac::SightRouter
- name: sight_webserver
type: nvidia::isaac::SightWebserver
parameters:
sight_router: sight_router
port: 3000
webroot: packages/sight/webroot
asset_root: ../isaac_assets
asset_prefix: /apps/assets/
app_name: hawk_camera
app_config: '{
"windows":{
"LeftCamera":{
"renderer":"2d",
"channels":[
{"name":"hawk_camera/left_camera_visualizer/sight_output/video_buffer"}
]
},
"RightCamera":{
"renderer":"2d",
"channels":[
{"name":"hawk_camera/right_camera_visualizer/sight_output/video_buffer"}
]
}
}
}'
- type: nvidia::gxf::PeriodicSchedulingTerm
parameters:
recess_period: 100Hz
---
name: hawk
components:
- type: nvidia::gxf::Subgraph
parameters:
location: extensions/hawk/graphs/hawk.yaml
---
name: left_camera_color_format_converter
components:
- type: nvidia::gxf::Subgraph
parameters:
location: extensions/hawk/graphs/color_format_converter.yaml
---
name: right_camera_color_format_converter
components:
- type: nvidia::gxf::Subgraph
parameters:
location: extensions/hawk/graphs/color_format_converter.yaml
---
name: left_camera_visualizer
components:
- name: video_buffer_input
type: nvidia::gxf::DoubleBufferReceiver
- name: sight_output
type: nvidia::isaac::SightTransmitter
- type: nvidia::isaac::VideoBufferVisualizer
parameters:
video_buffer_input: video_buffer_input
sight_output: sight_output
- type: nvidia::gxf::MessageAvailableSchedulingTerm
parameters:
receiver: video_buffer_input
min_size: 1
---
name: right_camera_visualizer
components:
- name: video_buffer_input
type: nvidia::gxf::DoubleBufferReceiver
- name: sight_output
type: nvidia::isaac::SightTransmitter
- type: nvidia::isaac::VideoBufferVisualizer
parameters:
video_buffer_input: video_buffer_input
sight_output: sight_output
- type: nvidia::gxf::MessageAvailableSchedulingTerm
parameters:
receiver: video_buffer_input
min_size: 1
---
components:
- type: nvidia::gxf::Connection
parameters:
source: hawk/left_camera_output
target: left_camera_color_format_converter/receiver
- type: nvidia::gxf::Connection
parameters:
source: left_camera_color_format_converter/transmitter
target: left_camera_visualizer/video_buffer_input
---
components:
- type: nvidia::gxf::Connection
parameters:
source: hawk/right_camera_output
target: right_camera_color_format_converter/receiver
- type: nvidia::gxf::Connection
parameters:
source: right_camera_color_format_converter/transmitter
target: right_camera_visualizer/video_buffer_input
---
components:
- name: clock
type: nvidia::gxf::RealtimeClock
- type: nvidia::gxf::MultiThreadScheduler
parameters:
clock: clock
worker_thread_number: 12
check_recession_period_ms: 1
- type: nvidia::gxf::JobStatistics
parameters:
clock: clock