W3cubDocs

/PointCloudLibrary

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

#include <pcl/io/depth_sense_grabber.h>

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...
Grabber & operator= (const Grabber &)=delete
No copy assign operator since Grabber can't be copied. More...
Grabber (Grabber &&)=default
Move ctor. More...
Grabber & operator= (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

sig_cb_depth_sense_point_cloud_rgba

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_id device 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:

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_depth_sense_grabber.html