Home

Awesome

simple_image_recon

ROS/ROS2 package to perform simple image reconstruction for an event based camera. The node takes as input event_camera_msgs. The core logic of event reconstruction can be found in the simple image recon library package.

Supported platforms

Currently tested on Ubuntu 20.04 under ROS Noetic and ROS2 Galactic. Continuous integration testing also for Ubuntu 22.04 under ROS2 Humble.

How to build

Create a workspace (~/ws), clone this repo, and use vcs tool

pkg=simple_image_recon
mkdir -p ~/${pkg}/src
cd ~/${pkg}/src
git clone https://github.com/berndpfrommer/${pkg}.git
vcs import < ${pkg}/${pkg}.repos
cd ..

configure and build on ROS1:

catkin config -DCMAKE_BUILD_TYPE=RelWithDebInfo  # (optionally add -DCMAKE_EXPORT_COMPILE_COMMANDS=1)
catkin build

configure and build on ROS2:

cd ~/ws
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo  # (optionally add -DCMAKE_EXPORT_COMPILE_COMMANDS=1)

How to use

Launch the event based camera driver and start the reconstruction node:

ROS1:

roslaunch simple_image_recon node.launch camera:=event_camera
rqt_image_view

ROS2:

ros2 launch simple_image_recon node.launch.py camera:=event_camera
ros2 run rqt_image_view rqt_image_view

Parameters:

Convert bag to images

You can convert events from a bag directly into images. Run bag_to_frames with -h for documentation. It can also convert synchronized events from multiple event cameras into synchronized frames.

ROS1:

rosrun simple_image_recon bag_to_frames -i input_bag -o output_bag -t /event_cam_0/events -t /event_cam_1/events -f 5.0 -O 3.028

The -t option can be repeated to specify the topics in a multi-camera environment. The -O option permits a time offset (in seconds). It can be repeated to apply to the first, second etc camera, but must be positive. In this case the time of camera 0 is shifted by 3.028 seconds to bring the event streams into sync.

ROS2:

ros2 run simple_image_recon bag_to_frames -i input_bag -o output_bag -t /event_cam_0/events -t /event_cam_1/events -f 5.0

License

This software is issued under the Apache License Version 2.0.