20 std::uint32_t nanoseconds,
23 const std::uint8_t *events,
24 std::size_t event_count,
25 std::size_t event_stride) {
31 return WriteImage(seconds, nanoseconds, height, width, encoded.data());
47 std::uint32_t height, std::uint32_t width,
const std::uint8_t *data)
const {
48 const std::size_t total_points =
49 static_cast<std::size_t
>(height) *
static_cast<std::size_t
>(width);
58 std::string base_topic_name, std::string frame_id)
62 std::move(base_topic_name),
std::move(frame_id))) {}
69 return image_ok && pc_ok;
74 std::uint32_t nanoseconds,
75 std::uint32_t x_offset,
76 std::uint32_t y_offset,
82 seconds, nanoseconds, x_offset, y_offset, height, width, fov, do_rectify);
87 std::uint32_t nanoseconds,
90 std::size_t event_count,
91 const std::uint8_t *events,
92 std::size_t event_stride) {
94 seconds, nanoseconds, height, width, events, event_count, event_stride);
99 std::uint32_t nanoseconds,
100 std::uint32_t height,
102 const std::uint8_t *data) {
103 return _point_cloud_pub->WritePointCloud(seconds, nanoseconds, height, width, data);
bool WriteImage(int32_t seconds, uint32_t nanoseconds, uint32_t height, uint32_t width, const uint8_t *data)
~CarlaDVSCameraPublisher() override
std::shared_ptr< CarlaDVSPointCloudPublisher > _point_cloud_pub
CarlaDVSCameraPublisher(std::string base_topic_name, std::string frame_id)
bool WriteCameraInfo(std::int32_t seconds, std::uint32_t nanoseconds, std::uint32_t x_offset, std::uint32_t y_offset, std::uint32_t height, std::uint32_t width, float fov, bool do_rectify)
bool WriteImage(std::int32_t seconds, std::uint32_t nanoseconds, std::uint32_t height, std::uint32_t width, std::size_t event_count, const std::uint8_t *events, std::size_t event_stride)
bool WritePointCloud(std::int32_t seconds, std::uint32_t nanoseconds, std::uint32_t height, std::uint32_t width, const std::uint8_t *data)
std::shared_ptr< CarlaDVSImagePublisher > _image_pub
bool WriteImageFromEvents(std::int32_t seconds, std::uint32_t nanoseconds, std::uint32_t height, std::uint32_t width, const std::uint8_t *events, std::size_t event_count, std::size_t event_stride)
std::vector< std::uint8_t > ComputePointCloud(std::uint32_t height, std::uint32_t width, const std::uint8_t *data) const override
const PointFieldDescriptor * GetFieldDescriptors() const override
std::size_t GetPointSize() const override
std::size_t GetFieldDescriptorCount() const override
std::vector< std::uint8_t > EncodeDvsEventsToBgr(std::uint32_t height, std::uint32_t width, const DvsEvent *events, std::size_t event_count)
std::vector< std::uint8_t > EncodeDvsEventsToPointCloud(const DvsEvent *events, std::size_t event_count)
constexpr std::array< PointFieldDescriptor, 4 > kDvsFields
This file contains definitions of common data structures used in traffic manager.