15 #ifndef SPINNAKER_CAMERA_DRIVER__CAMERA_WRAPPER_HPP_
16 #define SPINNAKER_CAMERA_DRIVER__CAMERA_WRAPPER_HPP_
19 #include <spinnaker/Spinnaker.h>
24 #include <sensor_msgs/msg/image.hpp>
43 class SPINNAKER_CAMERA_PUBLIC
CameraWrapper :
public Spinnaker::ImageEventHandler
49 std::unique_ptr<sensor_msgs::msg::Image>)>;
53 std::uint32_t camera_index,
54 const Spinnaker::CameraPtr & camera,
59 std::uint32_t camera_index,
60 const Spinnaker::CameraPtr & camera);
75 void OnImageEvent(Spinnaker::ImagePtr image)
override;
81 std::unique_ptr<sensor_msgs::msg::Image> retreive_image()
const;
84 void start_capturing();
87 void stop_capturing();
94 static std::unique_ptr<sensor_msgs::msg::Image> convert_to_image_msg(
95 const Spinnaker::ImagePtr & image,
const std::string & frame_id);
98 static Spinnaker::PixelFormatEnums convert_to_pixel_format_enum(
const std::string & pixel_format);
100 static std::string convert_to_pixel_format_string(Spinnaker::PixelFormatEnums pixel_format);
103 std::uint32_t m_camera_index{};
105 Spinnaker::CameraPtr m_camera{};
107 std::string m_frame_id{};
109 bool m_is_camera_configured{};
111 bool m_camera_is_capturing{};
114 ImageCallbackFunction m_on_image_callback{};
122 #endif // SPINNAKER_CAMERA_DRIVER__CAMERA_WRAPPER_HPP_