Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Friends
pcl::DepthSenseGrabber Class Reference

Grabber for DepthSense devices (e.g. More...

#include <pcl/io/depth_sense_grabber.h>

+ Inheritance diagram for pcl::DepthSenseGrabber:
+ Collaboration diagram for pcl::DepthSenseGrabber:

Public Types

enum  Mode { DepthSense_QVGA_30Hz = 0 }
 
enum  TemporalFilteringType { DepthSense_None = 0 , DepthSense_Median = 1 , DepthSense_Average = 2 }
 
using Ptr = shared_ptr< DepthSenseGrabber >
 
using ConstPtr = shared_ptr< const DepthSenseGrabber >
 
using sig_cb_depth_sense_point_cloud = void(const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &)
 
using sig_cb_depth_sense_point_cloud_rgba = void(const pcl::PointCloud< pcl::PointXYZRGBA >::ConstPtr &)
 

Public Member Functions

 DepthSenseGrabber (const std::string &device_id="")
 Create a grabber for a DepthSense device. More...
 
virtual ~DepthSenseGrabber () noexcept
 
virtual void start ()
 For devices that are streaming, the streams are started by calling this method. More...
 
virtual void stop ()
 For devices that are streaming, the streams are stopped. More...
 
virtual bool isRunning () const
 Indicates whether the grabber is streaming or not. More...
 
virtual std::string getName () const
 returns the name of the concrete subclass. More...
 
virtual float getFramesPerSecond () const
 returns fps. More...
 
void setConfidenceThreshold (int threshold)
 Set the confidence threshold for depth data. More...
 
void enableTemporalFiltering (TemporalFilteringType type, std::size_t window_size=1)
 Enable temporal filtering of the depth data received from the device. More...
 
void disableTemporalFiltering ()
 Disable temporal filtering. More...
 
std::string getDeviceSerialNumber () const
 Get the serial number of device captured by the grabber. More...
 
- Public Member Functions inherited from pcl::Grabber
 Grabber ()=default
 Default ctor. More...
 
 Grabber (const Grabber &)=delete
 No copy ctor since Grabber can't be copied. More...
 
Grabberoperator= (const Grabber &)=delete
 No copy assign operator since Grabber can't be copied. More...
 
 Grabber (Grabber &&)=default
 Move ctor. More...
 
Grabberoperator= (Grabber &&)=default
 Move assign operator. More...
 
virtual ~Grabber () noexcept=default
 virtual destructor. More...
 
template<typename T >
boost::signals2::connection registerCallback (const std::function< T > &callback)
 registers a callback function/method to a signal with the corresponding signature More...
 
template<typename T >
bool providesCallback () const noexcept
 indicates whether a signal with given parameter-type exists or not More...
 
bool toggle ()
 For devices that are streaming, stopped streams are started and running stream are stopped. More...
 

Friends

struct pcl::io::depth_sense::DepthSenseGrabberImpl
 

Additional Inherited Members

- Protected Member Functions inherited from pcl::Grabber
virtual void signalsChanged ()
 
template<typename T >
boost::signals2::signal< T > * find_signal () const noexcept
 
template<typename T >
int num_slots () const noexcept
 
template<typename T >
void disconnect_all_slots ()
 
template<typename T >
void block_signal ()
 
template<typename T >
void unblock_signal ()
 
void block_signals ()
 
void unblock_signals ()
 
template<typename T >
boost::signals2::signal< T > * createSignal ()
 
- Protected Attributes inherited from pcl::Grabber
std::map< std::string, std::unique_ptr< boost::signals2::signal_base > > signals_
 
std::map< std::string, std::vector< boost::signals2::connection > > connections_
 
std::map< std::string, std::vector< boost::signals2::shared_connection_block > > shared_connections_
 

Detailed Description

Grabber for DepthSense devices (e.g.

Creative Senz3D, SoftKinetic DS325).

Requires SoftKinetic DepthSense SDK.

Author
Sergey Alexandrov

Definition at line 56 of file depth_sense_grabber.h.

Member Typedef Documentation

◆ ConstPtr

Definition at line 62 of file depth_sense_grabber.h.

◆ Ptr

Definition at line 61 of file depth_sense_grabber.h.

◆ sig_cb_depth_sense_point_cloud

Definition at line 64 of file depth_sense_grabber.h.

◆ sig_cb_depth_sense_point_cloud_rgba

Definition at line 65 of file depth_sense_grabber.h.

Member Enumeration Documentation

◆ Mode

Enumerator
DepthSense_QVGA_30Hz 

Definition at line 67 of file depth_sense_grabber.h.

◆ TemporalFilteringType

Enumerator
DepthSense_None 
DepthSense_Median 
DepthSense_Average 

Definition at line 72 of file depth_sense_grabber.h.

Constructor & Destructor Documentation

◆ DepthSenseGrabber()

pcl::DepthSenseGrabber::DepthSenseGrabber ( const std::string &  device_id = "")

Create a grabber for a DepthSense device.

The grabber "captures" the device, making it impossible for other grabbers to interact with it. The device is "released" when the grabber is destructed.

This will throw pcl::IOException if there are no free devices that match the supplied device_id.

Parameters
[in]device_iddevice identifier, which might be a serial number, an index (with '#' prefix), or an empty string (to select the first available device)

◆ ~DepthSenseGrabber()

virtual pcl::DepthSenseGrabber::~DepthSenseGrabber ( )
virtualnoexcept

Member Function Documentation

◆ disableTemporalFiltering()

void pcl::DepthSenseGrabber::disableTemporalFiltering ( )

Disable temporal filtering.

◆ enableTemporalFiltering()

void pcl::DepthSenseGrabber::enableTemporalFiltering ( TemporalFilteringType  type,
std::size_t  window_size = 1 
)

Enable temporal filtering of the depth data received from the device.

The window size parameter is not relevant for DepthSense_None filtering type.

◆ getDeviceSerialNumber()

std::string pcl::DepthSenseGrabber::getDeviceSerialNumber ( ) const

Get the serial number of device captured by the grabber.

◆ getFramesPerSecond()

virtual float pcl::DepthSenseGrabber::getFramesPerSecond ( ) const
virtual

returns fps.

0 if trigger based.

Implements pcl::Grabber.

◆ getName()

virtual std::string pcl::DepthSenseGrabber::getName ( ) const
inlinevirtual

returns the name of the concrete subclass.

Returns
the name of the concrete driver.

Implements pcl::Grabber.

Definition at line 107 of file depth_sense_grabber.h.

◆ isRunning()

virtual bool pcl::DepthSenseGrabber::isRunning ( ) const
virtual

Indicates whether the grabber is streaming or not.

This value is not defined for triggered devices.

Returns
true if grabber is running / streaming. False otherwise.

Implements pcl::Grabber.

◆ setConfidenceThreshold()

void pcl::DepthSenseGrabber::setConfidenceThreshold ( int  threshold)

Set the confidence threshold for depth data.

Each pixel in a depth image output by the device has an associated confidence value. The higher this value is, the more reliable the datum is.

The depth pixels (and their associated 3D points) are filtered based on the confidence value. Those that are below the threshold are discarded (i.e. their coordinates are set to NaN).

◆ start()

virtual void pcl::DepthSenseGrabber::start ( )
virtual

For devices that are streaming, the streams are started by calling this method.

Trigger-based devices, just trigger the device once for each call of start.

Implements pcl::Grabber.

◆ stop()

virtual void pcl::DepthSenseGrabber::stop ( )
virtual

For devices that are streaming, the streams are stopped.

This method has no effect for triggered devices.

Implements pcl::Grabber.

Friends And Related Function Documentation

◆ pcl::io::depth_sense::DepthSenseGrabberImpl

Definition at line 145 of file depth_sense_grabber.h.


The documentation for this class was generated from the following file: