40 #include <pcl/io/grabber.h>
41 #include <pcl/memory.h>
42 #include <pcl/point_cloud.h>
43 #include <pcl/point_types.h>
44 #include <pcl/common/time.h>
59 template <
typename T>
class Buffer;
63 class RealSenseDevice;
73 using Ptr = shared_ptr<RealSenseGrabber>;
74 using ConstPtr = shared_ptr<const RealSenseGrabber>;
99 Mode (
unsigned int fps);
102 Mode (
unsigned int depth_width,
unsigned int depth_height);
106 Mode (
unsigned int fps,
unsigned int depth_width,
unsigned int depth_height);
110 Mode (
unsigned int depth_width,
unsigned int depth_height,
unsigned int color_width,
unsigned int color_height);
113 Mode (
unsigned int fps,
unsigned int depth_width,
unsigned int depth_height,
unsigned int color_width,
unsigned int color_height);
122 RealSense_Median = 1,
123 RealSense_Average = 2,
144 RealSenseGrabber (
const std::string& device_id =
"",
const Mode& mode = Mode (),
bool strict =
false);
161 return (std::string (
"RealSenseGrabber"));
165 getFramesPerSecond ()
const;
172 setConfidenceThreshold (
unsigned int threshold);
182 enableTemporalFiltering (TemporalFilteringType type, std::size_t window_size);
186 disableTemporalFiltering ();
190 getDeviceSerialNumber ()
const;
200 getAvailableModes (
bool only_depth =
false)
const;
207 setMode (
const Mode& mode,
bool strict =
false);
216 return (mode_selected_);
225 createDepthBuffer ();
236 computeModeScore (
const Mode& mode);
239 boost::signals2::signal<sig_cb_real_sense_point_cloud>* point_cloud_signal_;
240 boost::signals2::signal<sig_cb_real_sense_point_cloud_rgba>* point_cloud_rgba_signal_;
242 std::shared_ptr<pcl::io::real_sense::RealSenseDevice> device_;
245 unsigned int confidence_threshold_;
247 TemporalFilteringType temporal_filtering_type_;
248 std::size_t temporal_filtering_window_size_;
251 Mode mode_requested_;
270 mutable std::mutex fps_mutex_;
275 std::shared_ptr<pcl::io::Buffer<unsigned short> > depth_buffer_;
shared_ptr< RealSenseGrabber > Ptr
A descriptor for capturing mode.
A helper class to measure frequency of a certain event.
Grabber interface for PCL 1.x device drivers.
void(const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &) sig_cb_real_sense_point_cloud
unsigned int color_height
const Mode & getMode() const
Get currently active capturing mode.
shared_ptr< const RealSenseGrabber > ConstPtr
shared_ptr< const PointCloud< PointT > > ConstPtr
unsigned int depth_height
bool operator==(const PCLHeader &lhs, const PCLHeader &rhs)
void(const pcl::PointCloud< pcl::PointXYZRGBA >::ConstPtr &) sig_cb_real_sense_point_cloud_rgba