I would also love to see a community-maintained dc1394 driver in ros-pkg. I'll echo that for inclusion in camera_drivers it would need to follow the same interface as the existing drivers, which we've put in some effort to standardize so that they work interchangeably with the image_pipeline. The docs are useful resources for these stacks:<br>

 * <a href="http://www.ros.org/wiki/camera_drivers" target="_blank">http://www.ros.org/wiki/camera_drivers</a><br> * <a href="http://www.ros.org/wiki/image_pipeline" target="_blank">http://www.ros.org/wiki/image_pipeline</a><br>
<br>One design decision we made is that camera drivers need not do any processing of image data, not even debayering or undistortion. This keeps them low-dependency (no OpenCV needed). From a systems perspective it is nice to keep those concerns separate. The camera driver is only responsible for getting data off the camera and into ROS.<br>

<br>The basic processing (debayering and undistortion) is handled by image_proc (or stereo_image_proc). It uses OpenCV functions. The OpenCV debayering functions are admittedly pretty basic; eventually we may make that plugin-based, so that people who are particular about their debayering methods can substitute in something more advanced like the libdc1394 implementations.<br>
<br>To work well with the image_pipeline packages the driver need only publish synchronized image_raw and camera_info topics. set_camera_info is used only by camera_calibration as a convenience, so that you don't have to store the calibration to the camera as a separate step.<br>
<br>The request_image service is only for drivers implementing the polled camera interface. This is useful for high-def cameras like the 5Mp Prosilica we use, as sending those images at frame rate chews up a lot of bandwidth and you're unlikely to do any non-trivial processing on them in real time anyway. Polled camera support might be nice to have in a generic dc1394 driver but is hardly a blocker.<br>
<br>image_transport is designed to mimic the core roscpp classes as closely as possible, so I hope it is not difficult to integrate. In particular see the <a href="http://www.ros.org/doc/api/image_transport/html/classimage__transport_1_1CameraPublisher.html">CameraPublisher</a> convenience class.<br>
<br>Cheers,<br>Patrick<br>