20 #ifndef LOCALIZATION_RVIZ_PLUGINS_DEPTH_ODOMETRY_DISPLAY_H_ // NOLINT
21 #define LOCALIZATION_RVIZ_PLUGINS_DEPTH_ODOMETRY_DISPLAY_H_ // NOLINT
27 #include <ff_msgs/DepthOdometry.h>
28 #include <localization_common/measurement_buffer.h>
32 #include <image_transport/image_transport.h>
33 #include <opencv2/core.hpp>
34 #include <pcl/point_cloud.h>
35 #include <pcl/point_types.h>
36 #include <ros/publisher.h>
37 #include <ros/subscriber.h>
38 #include <sensor_msgs/PointCloud2.h>
39 #include <rviz/message_filter_display.h>
61 void createSingleCorrespondenceDisplays();
64 void processMessage(
const ff_msgs::DepthOdometry::ConstPtr& depth_odometry_msg);
67 void imageCallback(
const sensor_msgs::ImageConstPtr& image_msg);
68 void pointCloudCallback(
const sensor_msgs::PointCloud2ConstPtr& point_cloud_msg);
74 std::unique_ptr<camera::CameraParameters> camera_params_;
75 std::unique_ptr<rviz::SliderProperty> correspondence_index_slider_;
77 cv::Mat distortion_params_;
78 image_transport::Subscriber image_sub_;
79 ros::Subscriber point_cloud_sub_;
80 ros::Publisher source_correspondence_point_pub_, target_correspondence_point_pub_;
81 ros::Publisher source_point_cloud_pub_, target_point_cloud_pub_;
82 image_transport::Publisher single_correspondence_image_pub_, projection_and_optical_flow_image_pub_;
84 localization_common::MeasurementBuffer<sensor_msgs::ImageConstPtr> img_buffer_;
85 localization_common::MeasurementBuffer<pcl::PointCloud<pcl::PointXYZ>::Ptr> point_cloud_buffer_;
86 boost::optional<localization_measurements::DepthOdometryMeasurement> latest_depth_odometry_measurement_;
89 #endif // LOCALIZATION_RVIZ_PLUGINS_DEPTH_ODOMETRY_DISPLAY_H_ NOLINT