pcl::ONIGrabber Class Reference
Module io

A simple ONI grabber. More...

`#include <pcl/io/oni_grabber.h>`

Inheritance diagram for pcl::ONIGrabber:

## Public Types

typedef void() | sig_cb_openni_image(const boost::shared_ptr< openni_wrapper::Image > &)
typedef void() | sig_cb_openni_depth_image(const boost::shared_ptr< openni_wrapper::DepthImage > &)
typedef void() | sig_cb_openni_ir_image(const boost::shared_ptr< openni_wrapper::IRImage > &)
typedef void() | sig_cb_openni_image_depth_image(const boost::shared_ptr< openni_wrapper::Image > &, const boost::shared_ptr< openni_wrapper::DepthImage > &, float constant)
typedef void() | sig_cb_openni_ir_depth_image(const boost::shared_ptr< openni_wrapper::IRImage > &, const boost::shared_ptr< openni_wrapper::DepthImage > &, float constant)
typedef void() | sig_cb_openni_point_cloud(const boost::shared_ptr< const pcl::PointCloud< pcl::PointXYZ > > &)
typedef void() | sig_cb_openni_point_cloud_rgb(const boost::shared_ptr< const pcl::PointCloud< pcl::PointXYZRGB > > &)
typedef void() | sig_cb_openni_point_cloud_rgba(const boost::shared_ptr< const pcl::PointCloud< pcl::PointXYZRGBA > > &)
typedef void() | sig_cb_openni_point_cloud_i(const boost::shared_ptr< const pcl::PointCloud< pcl::PointXYZI > > &)

## Public Member Functions

| ONIGrabber (const std::string &file_name, bool repeat, bool stream)
| constuctor More...
virtual | ~ONIGrabber () throw ()
| destructor never throws an exception More...
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 std::string | getName () const
| returns the name of the concrete subclass. More...
virtual bool | isRunning () const
| Indicates whether the grabber is streaming or not. More...
virtual float | getFramesPerSecond () const
| returns the frames pre second. More...
bool | hasDataLeft ()
| Check if there is any data left in the ONI file to process. More...
Public Member Functions inherited from pcl::Grabber
| Grabber ()
| Constructor. More...
virtual | ~Grabber () throw ()
| virtual desctructor. More...
template<typename T >
boost::signals2::connection | registerCallback (const boost::function< T > &callback)
| registers a callback function/method to a signal with the corresponding signature More...
template<typename T >
bool | providesCallback () const
| indicates whether a signal with given parameter-type exists or not More...

## Protected Member Functions

void | imageCallback (boost::shared_ptr< openni_wrapper::Image > image, void *cookie)
| internal OpenNI (openni_wrapper) callback that handles image streams More...
void | depthCallback (boost::shared_ptr< openni_wrapper::DepthImage > depth_image, void *cookie)
| internal OpenNI (openni_wrapper) callback that handles depth streams More...
void | irCallback (boost::shared_ptr< openni_wrapper::IRImage > ir_image, void *cookie)
| internal OpenNI (openni_wrapper) callback that handles IR streams More...
void | imageDepthImageCallback (const boost::shared_ptr< openni_wrapper::Image > &image, const boost::shared_ptr< openni_wrapper::DepthImage > &depth_image)
| internal callback that handles synchronized image + depth streams More...
void | irDepthImageCallback (const boost::shared_ptr< openni_wrapper::IRImage > &image, const boost::shared_ptr< openni_wrapper::DepthImage > &depth_image)
| internal callback that handles synchronized IR + depth streams More...
boost::shared_ptr< pcl::PointCloud< pcl::PointXYZ > > | convertToXYZPointCloud (const boost::shared_ptr< openni_wrapper::DepthImage > &depth) const
| internal method to assemble a point cloud object More...
boost::shared_ptr< pcl::PointCloud< pcl::PointXYZRGB > > | convertToXYZRGBPointCloud (const boost::shared_ptr< openni_wrapper::Image > &image, const boost::shared_ptr< openni_wrapper::DepthImage > &depth_image) const
| internal method to assemble a point cloud object More...
boost::shared_ptr< pcl::PointCloud< pcl::PointXYZRGBA > > | convertToXYZRGBAPointCloud (const boost::shared_ptr< openni_wrapper::Image > &image, const boost::shared_ptr< openni_wrapper::DepthImage > &depth_image) const
| internal method to assemble a point cloud object More...
boost::shared_ptr< pcl::PointCloud< pcl::PointXYZI > > | convertToXYZIPointCloud (const boost::shared_ptr< openni_wrapper::IRImage > &image, const boost::shared_ptr< openni_wrapper::DepthImage > &depth_image) const
| internal method to assemble a point cloud object More...
Protected Member Functions inherited from pcl::Grabber
virtual void | signalsChanged ()
template<typename T >
boost::signals2::signal< T > * | find_signal () const
template<typename T >
int | num_slots () const
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

Synchronizer< boost::shared_ptr< openni_wrapper::Image >, boost::shared_ptr< openni_wrapper::DepthImage > > | rgb_sync_
| synchronizer object to synchronize image and depth streams More...
Synchronizer< boost::shared_ptr< openni_wrapper::IRImage >, boost::shared_ptr< openni_wrapper::DepthImage > > | ir_sync_
| synchronizer object to synchronize IR and depth streams More...
boost::shared_ptr< openni_wrapper::DeviceONI > | device_
| the actual openni device More...
std::string | rgb_frame_id_
std::string | depth_frame_id_
bool | running_
unsigned | image_width_
unsigned | image_height_
unsigned | depth_width_
unsigned | depth_height_
openni_wrapper::OpenNIDevice::CallbackHandle | depth_callback_handle
openni_wrapper::OpenNIDevice::CallbackHandle | image_callback_handle
openni_wrapper::OpenNIDevice::CallbackHandle | ir_callback_handle
boost::signals2::signal< sig_cb_openni_image > * | image_signal_
boost::signals2::signal< sig_cb_openni_depth_image > * | depth_image_signal_
boost::signals2::signal< sig_cb_openni_ir_image > * | ir_image_signal_
boost::signals2::signal< sig_cb_openni_image_depth_image > * | image_depth_image_signal_
boost::signals2::signal< sig_cb_openni_ir_depth_image > * | ir_depth_image_signal_
boost::signals2::signal< sig_cb_openni_point_cloud > * | point_cloud_signal_
boost::signals2::signal< sig_cb_openni_point_cloud_i > * | point_cloud_i_signal_
boost::signals2::signal< sig_cb_openni_point_cloud_rgb > * | point_cloud_rgb_signal_
boost::signals2::signal< sig_cb_openni_point_cloud_rgba > * | point_cloud_rgba_signal_
Protected Attributes inherited from pcl::Grabber
std::map< std::string, 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

A simple ONI grabber.

Author
  Suat Gedikli

Definition at line 73 of file oni_grabber.h.

## Member Typedef Documentation

## sig_cb_openni_depth_image

typedef void() pcl::ONIGrabber::sig_cb_openni_depth_image(const boost::shared_ptr< openni_wrapper::DepthImage > &)

Definition at line 78 of file oni_grabber.h.

## sig_cb_openni_image

typedef void() pcl::ONIGrabber::sig_cb_openni_image(const boost::shared_ptr< openni_wrapper::Image > &)

Definition at line 77 of file oni_grabber.h.

## sig_cb_openni_image_depth_image

typedef void() pcl::ONIGrabber::sig_cb_openni_image_depth_image(const boost::shared_ptr< openni_wrapper::Image > &, const boost::shared_ptr< openni_wrapper::DepthImage > &, float constant)

Definition at line 80 of file oni_grabber.h.

## sig_cb_openni_ir_depth_image

typedef void() pcl::ONIGrabber::sig_cb_openni_ir_depth_image(const boost::shared_ptr< openni_wrapper::IRImage > &, const boost::shared_ptr< openni_wrapper::DepthImage > &, float constant)

Definition at line 81 of file oni_grabber.h.

## sig_cb_openni_ir_image

typedef void() pcl::ONIGrabber::sig_cb_openni_ir_image(const boost::shared_ptr< openni_wrapper::IRImage > &)

Definition at line 79 of file oni_grabber.h.

## sig_cb_openni_point_cloud

typedef void() pcl::ONIGrabber::sig_cb_openni_point_cloud(const boost::shared_ptr< const pcl::PointCloud< pcl::PointXYZ > > &)

Definition at line 82 of file oni_grabber.h.

## sig_cb_openni_point_cloud_i

typedef void() pcl::ONIGrabber::sig_cb_openni_point_cloud_i(const boost::shared_ptr< const pcl::PointCloud< pcl::PointXYZI > > &)

Definition at line 85 of file oni_grabber.h.

## sig_cb_openni_point_cloud_rgb

typedef void() pcl::ONIGrabber::sig_cb_openni_point_cloud_rgb(const boost::shared_ptr< const pcl::PointCloud< pcl::PointXYZRGB > > &)

Definition at line 83 of file oni_grabber.h.

## sig_cb_openni_point_cloud_rgba

typedef void() pcl::ONIGrabber::sig_cb_openni_point_cloud_rgba(const boost::shared_ptr< const pcl::PointCloud< pcl::PointXYZRGBA > > &)

Definition at line 84 of file oni_grabber.h.

## Constructor & Destructor Documentation

## ONIGrabber()

pcl::ONIGrabber::ONIGrabber | ( | const std::string & | file_name,
|  | bool | repeat,
|  | bool | stream
| ) |  |

constuctor

Parameters

  [in] | file_name | the path to the ONI file
  [in] | repeat | whether the play back should be in an infinite loop or not
  [in] | stream | whether the playback should be in streaming mode or in triggered mode.

## ~ONIGrabber()

virtual pcl::ONIGrabber::~ONIGrabber | ( |  | ) |
throw | ( |
| ) |  |

virtual

destructor never throws an exception

## Member Function Documentation

## convertToXYZIPointCloud()

boost::shared_ptr<pcl::PointCloud<pcl::PointXYZI> > pcl::ONIGrabber::convertToXYZIPointCloud | ( | const boost::shared_ptr< openni_wrapper::IRImage > & | image,
|  | const boost::shared_ptr< openni_wrapper::DepthImage > & | depth_image
| ) |  | const

protected

internal method to assemble a point cloud object

## convertToXYZPointCloud()

boost::shared_ptr<pcl::PointCloud<pcl::PointXYZ> > pcl::ONIGrabber::convertToXYZPointCloud | ( | const boost::shared_ptr< openni_wrapper::DepthImage > & | depth | ) | const

protected

internal method to assemble a point cloud object

## convertToXYZRGBAPointCloud()

boost::shared_ptr<pcl::PointCloud<pcl::PointXYZRGBA> > pcl::ONIGrabber::convertToXYZRGBAPointCloud | ( | const boost::shared_ptr< openni_wrapper::Image > & | image,
|  | const boost::shared_ptr< openni_wrapper::DepthImage > & | depth_image
| ) |  | const

protected

internal method to assemble a point cloud object

## convertToXYZRGBPointCloud()

boost::shared_ptr<pcl::PointCloud<pcl::PointXYZRGB> > pcl::ONIGrabber::convertToXYZRGBPointCloud | ( | const boost::shared_ptr< openni_wrapper::Image > & | image,
|  | const boost::shared_ptr< openni_wrapper::DepthImage > & | depth_image
| ) |  | const

protected

internal method to assemble a point cloud object

## depthCallback()

void pcl::ONIGrabber::depthCallback | ( | boost::shared_ptr< openni_wrapper::DepthImage > | depth_image,
|  | void * | cookie
| ) |  |

protected

internal OpenNI (openni_wrapper) callback that handles depth streams

## getFramesPerSecond()

virtual float pcl::ONIGrabber::getFramesPerSecond | ( |  | ) | const

virtual

returns the frames pre second.

0 if it is trigger based.

Implements pcl::Grabber.

## getName()

virtual std::string pcl::ONIGrabber::getName | ( |  | ) | const

virtual

returns the name of the concrete subclass.

Returns
  the name of the concrete driver.

Implements pcl::Grabber.

## hasDataLeft()

bool pcl::ONIGrabber::hasDataLeft | ( |  | ) |

inline

Check if there is any data left in the ONI file to process.

Definition at line 127 of file oni_grabber.h.

## imageCallback()

void pcl::ONIGrabber::imageCallback | ( | boost::shared_ptr< openni_wrapper::Image > | image,
|  | void * | cookie
| ) |  |

protected

internal OpenNI (openni_wrapper) callback that handles image streams

## imageDepthImageCallback()

void pcl::ONIGrabber::imageDepthImageCallback | ( | const boost::shared_ptr< openni_wrapper::Image > & | image,
|  | const boost::shared_ptr< openni_wrapper::DepthImage > & | depth_image
| ) |  |

protected

internal callback that handles synchronized image + depth streams

## irCallback()

void pcl::ONIGrabber::irCallback | ( | boost::shared_ptr< openni_wrapper::IRImage > | ir_image,
|  | void * | cookie
| ) |  |

protected

internal OpenNI (openni_wrapper) callback that handles IR streams

## irDepthImageCallback()

void pcl::ONIGrabber::irDepthImageCallback | ( | const boost::shared_ptr< openni_wrapper::IRImage > & | image,
|  | const boost::shared_ptr< openni_wrapper::DepthImage > & | depth_image
| ) |  |

protected

internal callback that handles synchronized IR + depth streams

## isRunning()

virtual bool pcl::ONIGrabber::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.

## start()

virtual void pcl::ONIGrabber::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::ONIGrabber::stop | ( |  | ) |

virtual

For devices that are streaming, the streams are stopped.

This method has no effect for triggered devices.

Implements pcl::Grabber.

## Member Data Documentation

## depth_callback_handle

openni_wrapper::OpenNIDevice::CallbackHandle pcl::ONIGrabber::depth_callback_handle

protected

Definition at line 189 of file oni_grabber.h.

## depth_frame_id_

std::string pcl::ONIGrabber::depth_frame_id_

protected

Definition at line 183 of file oni_grabber.h.

## depth_height_

unsigned pcl::ONIGrabber::depth_height_

protected

Definition at line 188 of file oni_grabber.h.

## depth_image_signal_

boost::signals2::signal<sig_cb_openni_depth_image >* pcl::ONIGrabber::depth_image_signal_

protected

Definition at line 193 of file oni_grabber.h.

## depth_width_

unsigned pcl::ONIGrabber::depth_width_

protected

Definition at line 187 of file oni_grabber.h.

## device_

boost::shared_ptr<openni_wrapper::DeviceONI> pcl::ONIGrabber::device_

protected

the actual openni device

Definition at line 181 of file oni_grabber.h.

## image_callback_handle

openni_wrapper::OpenNIDevice::CallbackHandle pcl::ONIGrabber::image_callback_handle

protected

Definition at line 190 of file oni_grabber.h.

## image_depth_image_signal_

boost::signals2::signal<sig_cb_openni_image_depth_image>* pcl::ONIGrabber::image_depth_image_signal_

protected

Definition at line 195 of file oni_grabber.h.

## image_height_

unsigned pcl::ONIGrabber::image_height_

protected

Definition at line 186 of file oni_grabber.h.

## image_signal_

boost::signals2::signal<sig_cb_openni_image >* pcl::ONIGrabber::image_signal_

protected

Definition at line 192 of file oni_grabber.h.

## image_width_

unsigned pcl::ONIGrabber::image_width_

protected

Definition at line 185 of file oni_grabber.h.

## ir_callback_handle

openni_wrapper::OpenNIDevice::CallbackHandle pcl::ONIGrabber::ir_callback_handle

protected

Definition at line 191 of file oni_grabber.h.

## ir_depth_image_signal_

boost::signals2::signal<sig_cb_openni_ir_depth_image>* pcl::ONIGrabber::ir_depth_image_signal_

protected

Definition at line 196 of file oni_grabber.h.

## ir_image_signal_

boost::signals2::signal<sig_cb_openni_ir_image >* pcl::ONIGrabber::ir_image_signal_

protected

Definition at line 194 of file oni_grabber.h.

## ir_sync_

Synchronizer<boost::shared_ptr<openni_wrapper::IRImage>, boost::shared_ptr<openni_wrapper::DepthImage> > pcl::ONIGrabber::ir_sync_

protected

synchronizer object to synchronize IR and depth streams

Definition at line 178 of file oni_grabber.h.

## point_cloud_i_signal_

boost::signals2::signal<sig_cb_openni_point_cloud_i >* pcl::ONIGrabber::point_cloud_i_signal_

protected

Definition at line 198 of file oni_grabber.h.

## point_cloud_rgb_signal_

boost::signals2::signal<sig_cb_openni_point_cloud_rgb >* pcl::ONIGrabber::point_cloud_rgb_signal_

protected

Definition at line 199 of file oni_grabber.h.

## point_cloud_rgba_signal_

boost::signals2::signal<sig_cb_openni_point_cloud_rgba >* pcl::ONIGrabber::point_cloud_rgba_signal_

protected

Definition at line 200 of file oni_grabber.h.

## point_cloud_signal_

boost::signals2::signal<sig_cb_openni_point_cloud >* pcl::ONIGrabber::point_cloud_signal_

protected

Definition at line 197 of file oni_grabber.h.

## rgb_frame_id_

std::string pcl::ONIGrabber::rgb_frame_id_

protected

Definition at line 182 of file oni_grabber.h.

## rgb_sync_

Synchronizer<boost::shared_ptr<openni_wrapper::Image>, boost::shared_ptr<openni_wrapper::DepthImage> > pcl::ONIGrabber::rgb_sync_

protected

synchronizer object to synchronize image and depth streams

Definition at line 175 of file oni_grabber.h.

## running_

bool pcl::ONIGrabber::running_

protected

Definition at line 184 of file oni_grabber.h.

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

- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/io/include/pcl/io/oni_grabber.h