Point Cloud Library (PCL)  1.8.0
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::ONIGrabber Class Reference

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::DeviceONIdevice_
 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_namethe path to the ONI file
[in]repeatwhether the play back should be in an infinite loop or not
[in]streamwhether 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: