Point Cloud Library (PCL)  1.14.1-dev
List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions
pcl::visualization::ImageViewer Class Reference

ImageViewer is a class for 2D image visualization. More...

#include <pcl/visualization/image_viewer.h>

+ Inheritance diagram for pcl::visualization::ImageViewer:

Classes

struct  ExitCallback
 
struct  ExitMainLoopTimerCallback
 

Public Types

using Ptr = shared_ptr< ImageViewer >
 
using ConstPtr = shared_ptr< const ImageViewer >
 

Public Member Functions

 ImageViewer (const std::string &window_title="")
 Constructor. More...
 
virtual ~ImageViewer ()
 Destructor. More...
 
void setInteractorStyle (vtkInteractorObserver *style)
 Set up the interactor style. More...
 
void showMonoImage (const unsigned char *data, unsigned width, unsigned height, const std::string &layer_id="mono_image", double opacity=1.0)
 Show a monochrome 2D image on screen. More...
 
void addMonoImage (const unsigned char *data, unsigned width, unsigned height, const std::string &layer_id="mono_image", double opacity=1.0)
 Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
void showMonoImage (const pcl::PointCloud< pcl::Intensity >::ConstPtr &cloud, const std::string &layer_id="mono_image", double opacity=1.0)
 Show a monochrome 2D image on screen. More...
 
void addMonoImage (const pcl::PointCloud< pcl::Intensity >::ConstPtr &cloud, const std::string &layer_id="mono_image", double opacity=1.0)
 Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
void showMonoImage (const pcl::PointCloud< pcl::Intensity > &cloud, const std::string &layer_id="mono_image", double opacity=1.0)
 Show a monochrome 2D image on screen. More...
 
void addMonoImage (const pcl::PointCloud< pcl::Intensity > &cloud, const std::string &layer_id="mono_image", double opacity=1.0)
 Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
void showMonoImage (const pcl::PointCloud< pcl::Intensity8u >::ConstPtr &cloud, const std::string &layer_id="mono_image", double opacity=1.0)
 Show a monochrome 2D image on screen. More...
 
void addMonoImage (const pcl::PointCloud< pcl::Intensity8u >::ConstPtr &cloud, const std::string &layer_id="mono_image", double opacity=1.0)
 Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
void showMonoImage (const pcl::PointCloud< pcl::Intensity8u > &cloud, const std::string &layer_id="mono_image", double opacity=1.0)
 Show a monochrome 2D image on screen. More...
 
void addMonoImage (const pcl::PointCloud< pcl::Intensity8u > &cloud, const std::string &layer_id="mono_image", double opacity=1.0)
 Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
void showRGBImage (const unsigned char *data, unsigned width, unsigned height, const std::string &layer_id="rgb_image", double opacity=1.0)
 Show a 2D RGB image on screen. More...
 
void addRGBImage (const unsigned char *data, unsigned width, unsigned height, const std::string &layer_id="rgb_image", double opacity=1.0, bool autoresize=true)
 Add an RGB 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
template<typename T >
void showRGBImage (const typename pcl::PointCloud< T >::ConstPtr &cloud, const std::string &layer_id="rgb_image", double opacity=1.0)
 Show a 2D image on screen, obtained from the RGB channel of a point cloud. More...
 
template<typename T >
void addRGBImage (const typename pcl::PointCloud< T >::ConstPtr &cloud, const std::string &layer_id="rgb_image", double opacity=1.0)
 Add an RGB 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
template<typename T >
void showRGBImage (const pcl::PointCloud< T > &cloud, const std::string &layer_id="rgb_image", double opacity=1.0)
 Show a 2D image on screen, obtained from the RGB channel of a point cloud. More...
 
template<typename T >
void addRGBImage (const pcl::PointCloud< T > &cloud, const std::string &layer_id="rgb_image", double opacity=1.0)
 Add an RGB 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
void showFloatImage (const float *data, unsigned int width, unsigned int height, float min_value=std::numeric_limits< float >::min(), float max_value=std::numeric_limits< float >::max(), bool grayscale=false, const std::string &layer_id="float_image", double opacity=1.0)
 Show a 2D image (float) on screen. More...
 
void addFloatImage (const float *data, unsigned int width, unsigned int height, float min_value=std::numeric_limits< float >::min(), float max_value=std::numeric_limits< float >::max(), bool grayscale=false, const std::string &layer_id="float_image", double opacity=1.0)
 Add a float 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
void showShortImage (const unsigned short *short_image, unsigned int width, unsigned int height, unsigned short min_value=std::numeric_limits< unsigned short >::min(), unsigned short max_value=std::numeric_limits< unsigned short >::max(), bool grayscale=false, const std::string &layer_id="short_image", double opacity=1.0)
 Show a 2D image (unsigned short) on screen. More...
 
void addShortImage (const unsigned short *short_image, unsigned int width, unsigned int height, unsigned short min_value=std::numeric_limits< unsigned short >::min(), unsigned short max_value=std::numeric_limits< unsigned short >::max(), bool grayscale=false, const std::string &layer_id="short_image", double opacity=1.0)
 Add a short 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
void showAngleImage (const float *data, unsigned width, unsigned height, const std::string &layer_id="angle_image", double opacity=1.0)
 Show a 2D image on screen representing angle data. More...
 
void addAngleImage (const float *data, unsigned width, unsigned height, const std::string &layer_id="angle_image", double opacity=1.0)
 Add an angle 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
void showHalfAngleImage (const float *data, unsigned width, unsigned height, const std::string &layer_id="half_angle_image", double opacity=1.0)
 Show a 2D image on screen representing half angle data. More...
 
void addHalfAngleImage (const float *data, unsigned width, unsigned height, const std::string &layer_id="half_angle_image", double opacity=1.0)
 Add a half angle 2D image layer, but do not render it (use spin/spinOnce to update). More...
 
void markPoint (std::size_t u, std::size_t v, Vector3ub fg_color, Vector3ub bg_color=red_color, double radius=3.0, const std::string &layer_id="points", double opacity=1.0)
 Sets the pixel at coordinates(u,v) to color while setting the neighborhood to another. More...
 
void markPoints (const std::vector< int > &uv, Vector3ub fg_color, Vector3ub bg_color=red_color, double size=3.0, const std::string &layer_id="markers", double opacity=1.0)
 Sets the pixel at coordinates(u,v) to color while setting the neighborhood to another. More...
 
void markPoints (const std::vector< float > &uv, Vector3ub fg_color, Vector3ub bg_color=red_color, double size=3.0, const std::string &layer_id="markers", double opacity=1.0)
 Sets the pixel at coordinates(u,v) to color while setting the neighborhood to another (float coordinates version). More...
 
void setWindowTitle (const std::string &name)
 Set the window title name. More...
 
void spin ()
 Spin method. More...
 
void spinOnce (int time=1, bool force_redraw=true)
 Spin once method. More...
 
boost::signals2::connection registerKeyboardCallback (void(*callback)(const pcl::visualization::KeyboardEvent &, void *), void *cookie=nullptr)
 Register a callback function for keyboard events. More...
 
template<typename T >
boost::signals2::connection registerKeyboardCallback (void(T::*callback)(const pcl::visualization::KeyboardEvent &, void *), T &instance, void *cookie=nullptr)
 Register a callback function for keyboard events. More...
 
boost::signals2::connection registerKeyboardCallback (std::function< void(const pcl::visualization::KeyboardEvent &)> cb)
 Register a callback std::function for keyboard events. More...
 
boost::signals2::connection registerMouseCallback (void(*callback)(const pcl::visualization::MouseEvent &, void *), void *cookie=nullptr)
 Register a callback std::function for mouse events. More...
 
template<typename T >
boost::signals2::connection registerMouseCallback (void(T::*callback)(const pcl::visualization::MouseEvent &, void *), T &instance, void *cookie=nullptr)
 Register a callback function for mouse events. More...
 
boost::signals2::connection registerMouseCallback (std::function< void(const pcl::visualization::MouseEvent &)> cb)
 Register a callback function for mouse events. More...
 
void setPosition (int x, int y)
 Set the position in screen coordinates. More...
 
void setSize (int xw, int yw)
 Set the window size in screen coordinates. More...
 
int * getSize ()
 Return the window size in pixels. More...
 
bool wasStopped () const
 Returns true when the user tried to close the window. More...
 
void close ()
 Stop the interaction and close the visualization window. More...
 
bool addCircle (unsigned int x, unsigned int y, double radius, const std::string &layer_id="circles", double opacity=1.0)
 Add a circle shape from a point and a radius. More...
 
bool addCircle (unsigned int x, unsigned int y, double radius, double r, double g, double b, const std::string &layer_id="circles", double opacity=1.0)
 Add a circle shape from a point and a radius. More...
 
bool addRectangle (const pcl::PointXY &min_pt, const pcl::PointXY &max_pt, const std::string &layer_id="rectangles", double opacity=1.0)
 Add a 2D box and color its edges with a given color. More...
 
bool addRectangle (const pcl::PointXY &min_pt, const pcl::PointXY &max_pt, double r, double g, double b, const std::string &layer_id="rectangles", double opacity=1.0)
 Add a 2D box and color its edges with a given color. More...
 
bool addRectangle (unsigned int x_min, unsigned int x_max, unsigned int y_min, unsigned int y_max, const std::string &layer_id="rectangles", double opacity=1.0)
 Add a 2D box and color its edges with a given color. More...
 
bool addRectangle (unsigned int x_min, unsigned int x_max, unsigned int y_min, unsigned int y_max, double r, double g, double b, const std::string &layer_id="rectangles", double opacity=1.0)
 Add a 2D box and color its edges with a given color. More...
 
template<typename T >
bool addRectangle (const typename pcl::PointCloud< T >::ConstPtr &image, const T &min_pt, const T &max_pt, const std::string &layer_id="rectangles", double opacity=1.0)
 Add a 2D box and color its edges with a given color. More...
 
template<typename T >
bool addRectangle (const typename pcl::PointCloud< T >::ConstPtr &image, const T &min_pt, const T &max_pt, double r, double g, double b, const std::string &layer_id="rectangles", double opacity=1.0)
 Add a 2D box and color its edges with a given color. More...
 
template<typename T >
bool addRectangle (const typename pcl::PointCloud< T >::ConstPtr &image, const pcl::PointCloud< T > &mask, double r, double g, double b, const std::string &layer_id="rectangles", double opacity=1.0)
 Add a 2D box that contains a given image mask and color its edges. More...
 
template<typename T >
bool addRectangle (const typename pcl::PointCloud< T >::ConstPtr &image, const pcl::PointCloud< T > &mask, const std::string &layer_id="image_mask", double opacity=1.0)
 Add a 2D box that contains a given image mask and color its edges in red. More...
 
bool addFilledRectangle (unsigned int x_min, unsigned int x_max, unsigned int y_min, unsigned int y_max, const std::string &layer_id="boxes", double opacity=0.5)
 Add a 2D box and fill it in with a given color. More...
 
bool addFilledRectangle (unsigned int x_min, unsigned int x_max, unsigned int y_min, unsigned int y_max, double r, double g, double b, const std::string &layer_id="boxes", double opacity=0.5)
 Add a 2D box and fill it in with a given color. More...
 
bool addLine (unsigned int x_min, unsigned int y_min, unsigned int x_max, unsigned int y_max, double r, double g, double b, const std::string &layer_id="line", double opacity=1.0)
 Add a 2D line with a given color. More...
 
bool addLine (unsigned int x_min, unsigned int y_min, unsigned int x_max, unsigned int y_max, const std::string &layer_id="line", double opacity=1.0)
 Add a 2D line with a given color. More...
 
bool addText (unsigned int x, unsigned int y, const std::string &text, double r, double g, double b, const std::string &layer_id="line", double opacity=1.0)
 Add a 2D text with a given color. More...
 
bool addText (unsigned int x, unsigned int y, const std::string &text, const std::string &layer_id="line", double opacity=1.0)
 Add a 2D text with a given color. More...
 
template<typename T >
bool addMask (const typename pcl::PointCloud< T >::ConstPtr &image, const pcl::PointCloud< T > &mask, double r, double g, double b, const std::string &layer_id="image_mask", double opacity=0.5)
 Add a generic 2D mask to an image. More...
 
template<typename T >
bool addMask (const typename pcl::PointCloud< T >::ConstPtr &image, const pcl::PointCloud< T > &mask, const std::string &layer_id="image_mask", double opacity=0.5)
 Add a generic 2D mask to an image (colored in red) More...
 
template<typename T >
bool addPlanarPolygon (const typename pcl::PointCloud< T >::ConstPtr &image, const pcl::PlanarPolygon< T > &polygon, double r, double g, double b, const std::string &layer_id="planar_polygon", double opacity=1.0)
 Add a generic 2D planar polygon to an image. More...
 
template<typename T >
bool addPlanarPolygon (const typename pcl::PointCloud< T >::ConstPtr &image, const pcl::PlanarPolygon< T > &polygon, const std::string &layer_id="planar_polygon", double opacity=1.0)
 Add a generic 2D planar polygon to an image. More...
 
bool addLayer (const std::string &layer_id, int width, int height, double opacity=0.5)
 Add a new 2D rendering layer to the viewer. More...
 
void removeLayer (const std::string &layer_id)
 Remove a 2D layer given by its ID. More...
 
template<typename PointT >
bool showCorrespondences (const pcl::PointCloud< PointT > &source_img, const pcl::PointCloud< PointT > &target_img, const pcl::Correspondences &correspondences, int nth=1, const std::string &layer_id="correspondences")
 Add the specified correspondences to the display. More...
 

Protected Member Functions

void render ()
 Trigger a render call. More...
 
void convertIntensityCloudToUChar (const pcl::PointCloud< pcl::Intensity > &cloud, boost::shared_array< unsigned char > data)
 Convert the Intensity information in a PointCloud<Intensity> to an unsigned char array. More...
 
void convertIntensityCloud8uToUChar (const pcl::PointCloud< pcl::Intensity8u > &cloud, boost::shared_array< unsigned char > data)
 Convert the Intensity8u information in a PointCloud<Intensity8u> to an unsigned char array. More...
 
template<typename T >
void convertRGBCloudToUChar (const pcl::PointCloud< T > &cloud, boost::shared_array< unsigned char > &data)
 Convert the RGB information in a PointCloud<T> to an unsigned char array. More...
 
void resetStoppedFlag ()
 Set the stopped flag back to false. More...
 
void emitMouseEvent (unsigned long event_id)
 Fire up a mouse event with a specified event ID. More...
 
void emitKeyboardEvent (unsigned long event_id)
 Fire up a keyboard event with a specified event ID. More...
 

Static Protected Member Functions

static void MouseCallback (vtkObject *, unsigned long eid, void *clientdata, void *calldata)
 
static void KeyboardCallback (vtkObject *, unsigned long eid, void *clientdata, void *calldata)
 

Detailed Description

ImageViewer is a class for 2D image visualization.

Features include:

Simple usage example:

iv.addCircle (10, 10, 5, 1.0, 0.0, 0.0, "circles", 1.0); // add a red, fully opaque circle with radius 5 pixels at (10,10) in layer "circles"
iv.addFilledRectangle (10, 20, 10, 20, 0.0, 1.0, 0.0, "boxes", 0.5); // add a green, 50% transparent box at (10,10->20,20) in layer "boxes"
iv.addRGBImage<pcl::PointXYZRGBA> (cloud); // add a RGB image from a point cloud dataset in an "rgb_image" default layer
iv.spin (); // press 'q' to exit
iv.removeLayer ("circles"); // remove layer "circles"
iv.spin (); // press 'q' to exit
ImageViewer is a class for 2D image visualization.
Definition: image_viewer.h:119
bool addFilledRectangle(unsigned int x_min, unsigned int x_max, unsigned int y_min, unsigned int y_max, const std::string &layer_id="boxes", double opacity=0.5)
Add a 2D box and fill it in with a given color.
void removeLayer(const std::string &layer_id)
Remove a 2D layer given by its ID.
bool addCircle(unsigned int x, unsigned int y, double radius, const std::string &layer_id="circles", double opacity=1.0)
Add a circle shape from a point and a radius.
void addRGBImage(const unsigned char *data, unsigned width, unsigned height, const std::string &layer_id="rgb_image", double opacity=1.0, bool autoresize=true)
Add an RGB 2D image layer, but do not render it (use spin/spinOnce to update).
A point structure representing Euclidean xyz coordinates, and the RGBA color.
Author
Radu B. Rusu, Suat Gedikli

Definition at line 118 of file image_viewer.h.

Member Typedef Documentation

◆ ConstPtr

Definition at line 122 of file image_viewer.h.

◆ Ptr

Definition at line 121 of file image_viewer.h.

Constructor & Destructor Documentation

◆ ImageViewer()

pcl::visualization::ImageViewer::ImageViewer ( const std::string &  window_title = "")

Constructor.

Parameters
[in]window_titlethe title of the window

◆ ~ImageViewer()

virtual pcl::visualization::ImageViewer::~ImageViewer ( )
virtual

Destructor.

Member Function Documentation

◆ addAngleImage()

void pcl::visualization::ImageViewer::addAngleImage ( const float *  data,
unsigned  width,
unsigned  height,
const std::string &  layer_id = "angle_image",
double  opacity = 1.0 
)

Add an angle 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]datathe input data representing the image
[in]widththe width of the image
[in]heightthe height of the image
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ addCircle() [1/2]

bool pcl::visualization::ImageViewer::addCircle ( unsigned int  x,
unsigned int  y,
double  radius,
const std::string &  layer_id = "circles",
double  opacity = 1.0 
)

Add a circle shape from a point and a radius.

Parameters
[in]xthe x coordinate of the circle center
[in]ythe y coordinate of the circle center
[in]radiusthe radius of the circle
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

◆ addCircle() [2/2]

bool pcl::visualization::ImageViewer::addCircle ( unsigned int  x,
unsigned int  y,
double  radius,
double  r,
double  g,
double  b,
const std::string &  layer_id = "circles",
double  opacity = 1.0 
)

Add a circle shape from a point and a radius.

Parameters
[in]xthe x coordinate of the circle center
[in]ythe y coordinate of the circle center
[in]radiusthe radius of the circle
[in]rthe red channel of the color that the sphere should be rendered with (0.0 -> 1.0)
[in]gthe green channel of the color that the sphere should be rendered with (0.0 -> 1.0)
[in]bthe blue channel of the color that the sphere should be rendered with (0.0 -> 1.0)
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

◆ addFilledRectangle() [1/2]

bool pcl::visualization::ImageViewer::addFilledRectangle ( unsigned int  x_min,
unsigned int  x_max,
unsigned int  y_min,
unsigned int  y_max,
const std::string &  layer_id = "boxes",
double  opacity = 0.5 
)

Add a 2D box and fill it in with a given color.

Parameters
[in]x_minthe X min coordinate
[in]x_maxthe X max coordinate
[in]y_minthe Y min coordinate
[in]y_maxthe Y max coordinate
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 0.5)

◆ addFilledRectangle() [2/2]

bool pcl::visualization::ImageViewer::addFilledRectangle ( unsigned int  x_min,
unsigned int  x_max,
unsigned int  y_min,
unsigned int  y_max,
double  r,
double  g,
double  b,
const std::string &  layer_id = "boxes",
double  opacity = 0.5 
)

Add a 2D box and fill it in with a given color.

Parameters
[in]x_minthe X min coordinate
[in]x_maxthe X max coordinate
[in]y_minthe Y min coordinate
[in]y_maxthe Y max coordinate
[in]rthe red channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]gthe green channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]bthe blue channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 0.5)

◆ addFloatImage()

void pcl::visualization::ImageViewer::addFloatImage ( const float *  data,
unsigned int  width,
unsigned int  height,
float  min_value = std::numeric_limits< float >::min(),
float  max_value = std::numeric_limits< float >::max(),
bool  grayscale = false,
const std::string &  layer_id = "float_image",
double  opacity = 1.0 
)

Add a float 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]datathe input data representing the image in float format
[in]widththe width of the image
[in]heightthe height of the image
[in]min_valuefilter all values in the image to be larger than this minimum value
[in]max_valuefilter all values in the image to be smaller than this maximum value
[in]grayscaleshow data as grayscale (true) or not (false). Default: false
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ addHalfAngleImage()

void pcl::visualization::ImageViewer::addHalfAngleImage ( const float *  data,
unsigned  width,
unsigned  height,
const std::string &  layer_id = "half_angle_image",
double  opacity = 1.0 
)

Add a half angle 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]datathe input data representing the image
[in]widththe width of the image
[in]heightthe height of the image
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ addLayer()

bool pcl::visualization::ImageViewer::addLayer ( const std::string &  layer_id,
int  width,
int  height,
double  opacity = 0.5 
)

Add a new 2D rendering layer to the viewer.

Parameters
[in]layer_idthe name of the layer
[in]widththe width of the layer
[in]heightthe height of the layer
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 0.5)

◆ addLine() [1/2]

bool pcl::visualization::ImageViewer::addLine ( unsigned int  x_min,
unsigned int  y_min,
unsigned int  x_max,
unsigned int  y_max,
const std::string &  layer_id = "line",
double  opacity = 1.0 
)

Add a 2D line with a given color.

Parameters
[in]x_minthe X min coordinate
[in]y_minthe Y min coordinate
[in]x_maxthe X max coordinate
[in]y_maxthe Y max coordinate
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

◆ addLine() [2/2]

bool pcl::visualization::ImageViewer::addLine ( unsigned int  x_min,
unsigned int  y_min,
unsigned int  x_max,
unsigned int  y_max,
double  r,
double  g,
double  b,
const std::string &  layer_id = "line",
double  opacity = 1.0 
)

Add a 2D line with a given color.

Parameters
[in]x_minthe X min coordinate
[in]y_minthe Y min coordinate
[in]x_maxthe X max coordinate
[in]y_maxthe Y max coordinate
[in]rthe red channel of the color that the line should be rendered with (0.0 -> 1.0)
[in]gthe green channel of the color that the line should be rendered with (0.0 -> 1.0)
[in]bthe blue channel of the color that the line should be rendered with (0.0 -> 1.0)
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

◆ addMask() [1/2]

template<typename T >
bool pcl::visualization::ImageViewer::addMask ( const typename pcl::PointCloud< T >::ConstPtr image,
const pcl::PointCloud< T > &  mask,
const std::string &  layer_id = "image_mask",
double  opacity = 0.5 
)

Add a generic 2D mask to an image (colored in red)

Parameters
[in]imagethe organized point cloud dataset containing the image data
[in]maskthe point data representing the mask that we want to draw
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 0.5)

Definition at line 141 of file image_viewer.hpp.

◆ addMask() [2/2]

template<typename T >
bool pcl::visualization::ImageViewer::addMask ( const typename pcl::PointCloud< T >::ConstPtr image,
const pcl::PointCloud< T > &  mask,
double  r,
double  g,
double  b,
const std::string &  layer_id = "image_mask",
double  opacity = 0.5 
)

Add a generic 2D mask to an image.

Parameters
[in]imagethe organized point cloud dataset containing the image data
[in]maskthe point data representing the mask that we want to draw
[in]rthe red channel of the color that the mask should be rendered with
[in]gthe green channel of the color that the mask should be rendered with
[in]bthe blue channel of the color that the mask should be rendered with
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 0.5)

Definition at line 97 of file image_viewer.hpp.

References pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::isOrganized(), pcl::search::OrganizedNeighbor< PointT >::projectPoint(), pcl::search::OrganizedNeighbor< PointT >::setInputCloud(), pcl::PointCloud< PointT >::size(), pcl::PointXY::x, and pcl::PointXY::y.

◆ addMonoImage() [1/5]

void pcl::visualization::ImageViewer::addMonoImage ( const pcl::PointCloud< pcl::Intensity > &  cloud,
const std::string &  layer_id = "mono_image",
double  opacity = 1.0 
)

Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]cloudthe input data representing the RGB point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ addMonoImage() [2/5]

void pcl::visualization::ImageViewer::addMonoImage ( const pcl::PointCloud< pcl::Intensity >::ConstPtr cloud,
const std::string &  layer_id = "mono_image",
double  opacity = 1.0 
)
inline

Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]cloudthe input data representing the grayscale point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

Definition at line 182 of file image_viewer.h.

◆ addMonoImage() [3/5]

void pcl::visualization::ImageViewer::addMonoImage ( const pcl::PointCloud< pcl::Intensity8u > &  cloud,
const std::string &  layer_id = "mono_image",
double  opacity = 1.0 
)

Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]cloudthe input data representing the RGB point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ addMonoImage() [4/5]

void pcl::visualization::ImageViewer::addMonoImage ( const pcl::PointCloud< pcl::Intensity8u >::ConstPtr cloud,
const std::string &  layer_id = "mono_image",
double  opacity = 1.0 
)
inline

Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]cloudthe input data representing the grayscale point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

Definition at line 224 of file image_viewer.h.

◆ addMonoImage() [5/5]

void pcl::visualization::ImageViewer::addMonoImage ( const unsigned char *  data,
unsigned  width,
unsigned  height,
const std::string &  layer_id = "mono_image",
double  opacity = 1.0 
)

Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]datathe input data representing the image
[in]widththe width of the image
[in]heightthe height of the image
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ addPlanarPolygon() [1/2]

template<typename T >
bool pcl::visualization::ImageViewer::addPlanarPolygon ( const typename pcl::PointCloud< T >::ConstPtr image,
const pcl::PlanarPolygon< T > &  polygon,
const std::string &  layer_id = "planar_polygon",
double  opacity = 1.0 
)

Add a generic 2D planar polygon to an image.

Parameters
[in]imagethe organized point cloud dataset containing the image data
[in]polygonthe point data representing the polygon that we want to draw. A line will be drawn from each point to the next in the dataset.
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

Definition at line 199 of file image_viewer.hpp.

◆ addPlanarPolygon() [2/2]

template<typename T >
bool pcl::visualization::ImageViewer::addPlanarPolygon ( const typename pcl::PointCloud< T >::ConstPtr image,
const pcl::PlanarPolygon< T > &  polygon,
double  r,
double  g,
double  b,
const std::string &  layer_id = "planar_polygon",
double  opacity = 1.0 
)

Add a generic 2D planar polygon to an image.

Parameters
[in]imagethe organized point cloud dataset containing the image data
[in]polygonthe point data representing the polygon that we want to draw. A line will be drawn from each point to the next in the dataset.
[in]rthe red channel of the color that the polygon should be rendered with
[in]gthe green channel of the color that the polygon should be rendered with
[in]bthe blue channel of the color that the polygon should be rendered with
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

Definition at line 151 of file image_viewer.hpp.

References pcl::PlanarPolygon< PointT >::getContour(), pcl::PointCloud< PointT >::isOrganized(), pcl::search::OrganizedNeighbor< PointT >::projectPoint(), pcl::search::OrganizedNeighbor< PointT >::setInputCloud(), pcl::PointXY::x, and pcl::PointXY::y.

◆ addRectangle() [1/8]

bool pcl::visualization::ImageViewer::addRectangle ( const pcl::PointXY min_pt,
const pcl::PointXY max_pt,
const std::string &  layer_id = "rectangles",
double  opacity = 1.0 
)

Add a 2D box and color its edges with a given color.

Parameters
[in]min_ptthe X,Y min coordinate
[in]max_ptthe X,Y max coordinate
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

◆ addRectangle() [2/8]

bool pcl::visualization::ImageViewer::addRectangle ( const pcl::PointXY min_pt,
const pcl::PointXY max_pt,
double  r,
double  g,
double  b,
const std::string &  layer_id = "rectangles",
double  opacity = 1.0 
)

Add a 2D box and color its edges with a given color.

Parameters
[in]min_ptthe X,Y min coordinate
[in]max_ptthe X,Y max coordinate
[in]rthe red channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]gthe green channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]bthe blue channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

◆ addRectangle() [3/8]

template<typename T >
bool pcl::visualization::ImageViewer::addRectangle ( const typename pcl::PointCloud< T >::ConstPtr image,
const pcl::PointCloud< T > &  mask,
const std::string &  layer_id = "image_mask",
double  opacity = 1.0 
)

Add a 2D box that contains a given image mask and color its edges in red.

Parameters
[in]imagethe organized point cloud dataset containing the image data
[in]maskthe point data representing the mask that we want to draw
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

Definition at line 342 of file image_viewer.hpp.

◆ addRectangle() [4/8]

template<typename T >
bool pcl::visualization::ImageViewer::addRectangle ( const typename pcl::PointCloud< T >::ConstPtr image,
const pcl::PointCloud< T > &  mask,
double  r,
double  g,
double  b,
const std::string &  layer_id = "rectangles",
double  opacity = 1.0 
)

Add a 2D box that contains a given image mask and color its edges.

Parameters
[in]imagethe organized point cloud dataset containing the image data
[in]maskthe point data representing the mask that we want to draw
[in]rthe red channel of the color that the mask should be rendered with
[in]gthe green channel of the color that the mask should be rendered with
[in]bthe blue channel of the color that the mask should be rendered with
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

Definition at line 290 of file image_viewer.hpp.

References pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::isOrganized(), pcl::search::OrganizedNeighbor< PointT >::projectPoint(), pcl::search::OrganizedNeighbor< PointT >::setInputCloud(), pcl::PointCloud< PointT >::size(), pcl::PointXY::x, and pcl::PointXY::y.

◆ addRectangle() [5/8]

template<typename T >
bool pcl::visualization::ImageViewer::addRectangle ( const typename pcl::PointCloud< T >::ConstPtr image,
const T &  min_pt,
const T &  max_pt,
const std::string &  layer_id = "rectangles",
double  opacity = 1.0 
)

Add a 2D box and color its edges with a given color.

Parameters
[in]imagethe organized point cloud dataset containing the image data
[in]min_ptthe X,Y min coordinate
[in]max_ptthe X,Y max coordinate
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

Definition at line 279 of file image_viewer.hpp.

◆ addRectangle() [6/8]

template<typename T >
bool pcl::visualization::ImageViewer::addRectangle ( const typename pcl::PointCloud< T >::ConstPtr image,
const T &  min_pt,
const T &  max_pt,
double  r,
double  g,
double  b,
const std::string &  layer_id = "rectangles",
double  opacity = 1.0 
)

Add a 2D box and color its edges with a given color.

Parameters
[in]imagethe organized point cloud dataset containing the image data
[in]min_ptthe X,Y min coordinate
[in]max_ptthe X,Y max coordinate
[in]rthe red channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]gthe green channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]bthe blue channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

Definition at line 209 of file image_viewer.hpp.

References pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::isOrganized(), pcl::search::OrganizedNeighbor< PointT >::projectPoint(), pcl::search::OrganizedNeighbor< PointT >::setInputCloud(), pcl::PointXY::x, and pcl::PointXY::y.

◆ addRectangle() [7/8]

bool pcl::visualization::ImageViewer::addRectangle ( unsigned int  x_min,
unsigned int  x_max,
unsigned int  y_min,
unsigned int  y_max,
const std::string &  layer_id = "rectangles",
double  opacity = 1.0 
)

Add a 2D box and color its edges with a given color.

Parameters
[in]x_minthe X min coordinate
[in]x_maxthe X max coordinate
[in]y_minthe Y min coordinate
[in]y_maxthe Y max coordinate
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

◆ addRectangle() [8/8]

bool pcl::visualization::ImageViewer::addRectangle ( unsigned int  x_min,
unsigned int  x_max,
unsigned int  y_min,
unsigned int  y_max,
double  r,
double  g,
double  b,
const std::string &  layer_id = "rectangles",
double  opacity = 1.0 
)

Add a 2D box and color its edges with a given color.

Parameters
[in]x_minthe X min coordinate
[in]x_maxthe X max coordinate
[in]y_minthe Y min coordinate
[in]y_maxthe Y max coordinate
[in]rthe red channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]gthe green channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]bthe blue channel of the color that the box should be rendered with (0.0 -> 1.0)
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

◆ addRGBImage() [1/3]

template<typename T >
void pcl::visualization::ImageViewer::addRGBImage ( const pcl::PointCloud< T > &  cloud,
const std::string &  layer_id = "rgb_image",
double  opacity = 1.0 
)

Add an RGB 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]cloudthe input data representing the RGB point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

Definition at line 70 of file image_viewer.hpp.

References pcl::PointCloud< PointT >::height, and pcl::PointCloud< PointT >::width.

◆ addRGBImage() [2/3]

template<typename T >
void pcl::visualization::ImageViewer::addRGBImage ( const typename pcl::PointCloud< T >::ConstPtr cloud,
const std::string &  layer_id = "rgb_image",
double  opacity = 1.0 
)
inline

Add an RGB 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]cloudthe input data representing the RGB point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

Definition at line 290 of file image_viewer.h.

◆ addRGBImage() [3/3]

void pcl::visualization::ImageViewer::addRGBImage ( const unsigned char *  data,
unsigned  width,
unsigned  height,
const std::string &  layer_id = "rgb_image",
double  opacity = 1.0,
bool  autoresize = true 
)

Add an RGB 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]datathe input data representing the image
[in]widththe width of the image
[in]heightthe height of the image
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)
[in]autoresizeflag to enable window to adapt to image size (default true)

◆ addShortImage()

void pcl::visualization::ImageViewer::addShortImage ( const unsigned short *  short_image,
unsigned int  width,
unsigned int  height,
unsigned short  min_value = std::numeric_limits< unsigned short >::min(),
unsigned short  max_value = std::numeric_limits< unsigned short >::max(),
bool  grayscale = false,
const std::string &  layer_id = "short_image",
double  opacity = 1.0 
)

Add a short 2D image layer, but do not render it (use spin/spinOnce to update).

Parameters
[in]short_imagethe input data representing the image in unsigned short format
[in]widththe width of the image
[in]heightthe height of the image
[in]min_valuefilter all values in the image to be larger than this minimum value
[in]max_valuefilter all values in the image to be smaller than this maximum value
[in]grayscaleshow data as grayscale (true) or not (false). Default: false
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ addText() [1/2]

bool pcl::visualization::ImageViewer::addText ( unsigned int  x,
unsigned int  y,
const std::string &  text,
const std::string &  layer_id = "line",
double  opacity = 1.0 
)

Add a 2D text with a given color.

Parameters
[in]xthe X coordinate
[in]ythe Y coordinate
[in]textthe text string to be displayed
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

◆ addText() [2/2]

bool pcl::visualization::ImageViewer::addText ( unsigned int  x,
unsigned int  y,
const std::string &  text,
double  r,
double  g,
double  b,
const std::string &  layer_id = "line",
double  opacity = 1.0 
)

Add a 2D text with a given color.

Parameters
[in]xthe X coordinate
[in]ythe Y coordinate
[in]textthe text string to be displayed
[in]rthe red channel of the color that the line should be rendered with (0.0 -> 1.0)
[in]gthe green channel of the color that the line should be rendered with (0.0 -> 1.0)
[in]bthe blue channel of the color that the line should be rendered with (0.0 -> 1.0)
[in]layer_idthe 2D layer ID where we want the extra information to be drawn.
[in]opacitythe opacity of the layer: 0 for invisible, 1 for opaque. (default: 1.0)

◆ close()

void pcl::visualization::ImageViewer::close ( )
inline

Stop the interaction and close the visualization window.

Definition at line 565 of file image_viewer.h.

◆ convertIntensityCloud8uToUChar()

void pcl::visualization::ImageViewer::convertIntensityCloud8uToUChar ( const pcl::PointCloud< pcl::Intensity8u > &  cloud,
boost::shared_array< unsigned char >  data 
)
protected

Convert the Intensity8u information in a PointCloud<Intensity8u> to an unsigned char array.

Parameters
[in]cloudthe input cloud containing the grayscale intensity information
[out]dataa boost shared array of unsigned char type
Note
The method assumes that the data array has already been allocated and contains enough space to copy all the data from cloud!

◆ convertIntensityCloudToUChar()

void pcl::visualization::ImageViewer::convertIntensityCloudToUChar ( const pcl::PointCloud< pcl::Intensity > &  cloud,
boost::shared_array< unsigned char >  data 
)
protected

Convert the Intensity information in a PointCloud<Intensity> to an unsigned char array.

Parameters
[in]cloudthe input cloud containing the grayscale intensity information
[out]dataa boost shared array of unsigned char type
Note
The method assumes that the data array has already been allocated and contains enough space to copy all the data from cloud!

◆ convertRGBCloudToUChar()

template<typename T >
void pcl::visualization::ImageViewer::convertRGBCloudToUChar ( const pcl::PointCloud< T > &  cloud,
boost::shared_array< unsigned char > &  data 
)
protected

Convert the RGB information in a PointCloud<T> to an unsigned char array.

Parameters
[in]cloudthe input cloud containing the RGB information
[out]dataa boost shared array of unsigned char type
Note
The method assumes that the data array has already been allocated and contains enough space to copy all the data from cloud!

Definition at line 55 of file image_viewer.hpp.

◆ emitKeyboardEvent()

void pcl::visualization::ImageViewer::emitKeyboardEvent ( unsigned long  event_id)
protected

Fire up a keyboard event with a specified event ID.

Parameters
[in]event_idthe id of the event

◆ emitMouseEvent()

void pcl::visualization::ImageViewer::emitMouseEvent ( unsigned long  event_id)
protected

Fire up a mouse event with a specified event ID.

Parameters
[in]event_idthe id of the event

◆ getSize()

int* pcl::visualization::ImageViewer::getSize ( )

Return the window size in pixels.

◆ KeyboardCallback()

static void pcl::visualization::ImageViewer::KeyboardCallback ( vtkObject *  ,
unsigned long  eid,
void *  clientdata,
void *  calldata 
)
staticprotected

◆ markPoint()

void pcl::visualization::ImageViewer::markPoint ( std::size_t  u,
std::size_t  v,
Vector3ub  fg_color,
Vector3ub  bg_color = red_color,
double  radius = 3.0,
const std::string &  layer_id = "points",
double  opacity = 1.0 
)

Sets the pixel at coordinates(u,v) to color while setting the neighborhood to another.

Parameters
[in]uthe u/x coordinate of the pixel
[in]vthe v/y coordinate of the pixel
[in]fg_colorthe pixel color
[in]bg_colorthe neighborhood color
[in]radiusthe circle radius around the pixel
[in]layer_idthe name of the layer (default: "points")
[in]opacitythe opacity of the layer (default: 1.0)

◆ markPoints() [1/2]

void pcl::visualization::ImageViewer::markPoints ( const std::vector< float > &  uv,
Vector3ub  fg_color,
Vector3ub  bg_color = red_color,
double  size = 3.0,
const std::string &  layer_id = "markers",
double  opacity = 1.0 
)

Sets the pixel at coordinates(u,v) to color while setting the neighborhood to another (float coordinates version).

Parameters
[in]uvthe u/x, v/y coordinate of the pixels to be marked
[in]fg_colorthe pixel color
[in]bg_colorthe neighborhood color
[in]sizeedge of the square surrounding each pixel
[in]layer_idthe name of the layer (default: "markers")
[in]opacitythe opacity of the layer (default: 1.0)

◆ markPoints() [2/2]

void pcl::visualization::ImageViewer::markPoints ( const std::vector< int > &  uv,
Vector3ub  fg_color,
Vector3ub  bg_color = red_color,
double  size = 3.0,
const std::string &  layer_id = "markers",
double  opacity = 1.0 
)

Sets the pixel at coordinates(u,v) to color while setting the neighborhood to another.

Parameters
[in]uvthe u/x, v/y coordinate of the pixels to be marked
[in]fg_colorthe pixel color
[in]bg_colorthe neighborhood color
[in]sizeedge of the square surrounding each pixel
[in]layer_idthe name of the layer (default: "markers")
[in]opacitythe opacity of the layer (default: 1.0)

◆ MouseCallback()

static void pcl::visualization::ImageViewer::MouseCallback ( vtkObject *  ,
unsigned long  eid,
void *  clientdata,
void *  calldata 
)
staticprotected

◆ registerKeyboardCallback() [1/3]

boost::signals2::connection pcl::visualization::ImageViewer::registerKeyboardCallback ( std::function< void(const pcl::visualization::KeyboardEvent &)>  cb)

Register a callback std::function for keyboard events.

Parameters
[in]cbthe boost function that will be registered as a callback for a keyboard event
Returns
a connection object that allows to disconnect the callback function.

◆ registerKeyboardCallback() [2/3]

boost::signals2::connection pcl::visualization::ImageViewer::registerKeyboardCallback ( void(*)(const pcl::visualization::KeyboardEvent &, void *)  callback,
void *  cookie = nullptr 
)
inline

Register a callback function for keyboard events.

Parameters
[in]callbackthe function that will be registered as a callback for a keyboard event
[in]cookieuser data that is passed to the callback
Returns
a connection object that allows to disconnect the callback function.

Definition at line 483 of file image_viewer.h.

◆ registerKeyboardCallback() [3/3]

template<typename T >
boost::signals2::connection pcl::visualization::ImageViewer::registerKeyboardCallback ( void(T::*)(const pcl::visualization::KeyboardEvent &, void *)  callback,
T &  instance,
void *  cookie = nullptr 
)
inline

Register a callback function for keyboard events.

Parameters
[in]callbackthe member function that will be registered as a callback for a keyboard event
[in]instanceinstance to the class that implements the callback function
[in]cookieuser data that is passed to the callback
Returns
a connection object that allows to disconnect the callback function.

Definition at line 496 of file image_viewer.h.

◆ registerMouseCallback() [1/3]

boost::signals2::connection pcl::visualization::ImageViewer::registerMouseCallback ( std::function< void(const pcl::visualization::MouseEvent &)>  cb)

Register a callback function for mouse events.

Parameters
[in]cbthe boost function that will be registered as a callback for a mouse event
Returns
a connection object that allows to disconnect the callback function.

◆ registerMouseCallback() [2/3]

boost::signals2::connection pcl::visualization::ImageViewer::registerMouseCallback ( void(*)(const pcl::visualization::MouseEvent &, void *)  callback,
void *  cookie = nullptr 
)
inline

Register a callback std::function for mouse events.

Parameters
[in]callbackthe function that will be registered as a callback for a mouse event
[in]cookieuser data that is passed to the callback
Returns
a connection object that allows to disconnect the callback function.

Definition at line 515 of file image_viewer.h.

◆ registerMouseCallback() [3/3]

template<typename T >
boost::signals2::connection pcl::visualization::ImageViewer::registerMouseCallback ( void(T::*)(const pcl::visualization::MouseEvent &, void *)  callback,
T &  instance,
void *  cookie = nullptr 
)
inline

Register a callback function for mouse events.

Parameters
[in]callbackthe member function that will be registered as a callback for a mouse event
[in]instanceinstance to the class that implements the callback function
[in]cookieuser data that is passed to the callback
Returns
a connection object that allows to disconnect the callback function.

Definition at line 528 of file image_viewer.h.

◆ removeLayer()

void pcl::visualization::ImageViewer::removeLayer ( const std::string &  layer_id)

Remove a 2D layer given by its ID.

Parameters
[in]layer_idthe name of the layer

◆ render()

void pcl::visualization::ImageViewer::render ( )
protected

Trigger a render call.

◆ resetStoppedFlag()

void pcl::visualization::ImageViewer::resetStoppedFlag ( )
inlineprotected

Set the stopped flag back to false.

Definition at line 900 of file image_viewer.h.

◆ setInteractorStyle()

void pcl::visualization::ImageViewer::setInteractorStyle ( vtkInteractorObserver *  style)
inline

Set up the interactor style.

By default the interactor style is set to vtkInteractorStyleImage you can use this to set it to another type.

Parameters
[in]styleuser set interactor style.

Definition at line 137 of file image_viewer.h.

◆ setPosition()

void pcl::visualization::ImageViewer::setPosition ( int  x,
int  y 
)

Set the position in screen coordinates.

Parameters
[in]xwhere to move the window to (X)
[in]ywhere to move the window to (Y)

◆ setSize()

void pcl::visualization::ImageViewer::setSize ( int  xw,
int  yw 
)

Set the window size in screen coordinates.

Parameters
[in]xwwindow size in horizontal (pixels)
[in]ywwindow size in vertical (pixels)

◆ setWindowTitle()

void pcl::visualization::ImageViewer::setWindowTitle ( const std::string &  name)

Set the window title name.

Parameters
[in]namethe window title

◆ showAngleImage()

void pcl::visualization::ImageViewer::showAngleImage ( const float *  data,
unsigned  width,
unsigned  height,
const std::string &  layer_id = "angle_image",
double  opacity = 1.0 
)

Show a 2D image on screen representing angle data.

Parameters
[in]datathe input data representing the image
[in]widththe width of the image
[in]heightthe height of the image
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ showCorrespondences()

template<typename PointT >
bool pcl::visualization::ImageViewer::showCorrespondences ( const pcl::PointCloud< PointT > &  source_img,
const pcl::PointCloud< PointT > &  target_img,
const pcl::Correspondences correspondences,
int  nth = 1,
const std::string &  layer_id = "correspondences" 
)

Add the specified correspondences to the display.

Parameters
[in]source_imgThe source RGB image
[in]target_imgThe target RGB image
[in]correspondencesThe list of correspondences to display.
[in]nthdisplay only the Nth correspondence (e.g., skip the rest)
[in]layer_idthe layer id (default: "correspondences")

Definition at line 352 of file image_viewer.hpp.

References pcl::visualization::getRandomColors(), pcl::PointCloud< PointT >::height, and pcl::PointCloud< PointT >::width.

◆ showFloatImage()

void pcl::visualization::ImageViewer::showFloatImage ( const float *  data,
unsigned int  width,
unsigned int  height,
float  min_value = std::numeric_limits< float >::min(),
float  max_value = std::numeric_limits< float >::max(),
bool  grayscale = false,
const std::string &  layer_id = "float_image",
double  opacity = 1.0 
)

Show a 2D image (float) on screen.

Parameters
[in]datathe input data representing the image in float format
[in]widththe width of the image
[in]heightthe height of the image
[in]min_valuefilter all values in the image to be larger than this minimum value
[in]max_valuefilter all values in the image to be smaller than this maximum value
[in]grayscaleshow data as grayscale (true) or not (false). Default: false
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ showHalfAngleImage()

void pcl::visualization::ImageViewer::showHalfAngleImage ( const float *  data,
unsigned  width,
unsigned  height,
const std::string &  layer_id = "half_angle_image",
double  opacity = 1.0 
)

Show a 2D image on screen representing half angle data.

Parameters
[in]datathe input data representing the image
[in]widththe width of the image
[in]heightthe height of the image
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ showMonoImage() [1/5]

void pcl::visualization::ImageViewer::showMonoImage ( const pcl::PointCloud< pcl::Intensity > &  cloud,
const std::string &  layer_id = "mono_image",
double  opacity = 1.0 
)

Show a monochrome 2D image on screen.

Parameters
[in]cloudthe input data representing the grayscale point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ showMonoImage() [2/5]

void pcl::visualization::ImageViewer::showMonoImage ( const pcl::PointCloud< pcl::Intensity >::ConstPtr cloud,
const std::string &  layer_id = "mono_image",
double  opacity = 1.0 
)
inline

Show a monochrome 2D image on screen.

Parameters
[in]cloudthe input data representing the grayscale point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

Definition at line 170 of file image_viewer.h.

◆ showMonoImage() [3/5]

void pcl::visualization::ImageViewer::showMonoImage ( const pcl::PointCloud< pcl::Intensity8u > &  cloud,
const std::string &  layer_id = "mono_image",
double  opacity = 1.0 
)

Show a monochrome 2D image on screen.

Parameters
[in]cloudthe input data representing the grayscale point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ showMonoImage() [4/5]

void pcl::visualization::ImageViewer::showMonoImage ( const pcl::PointCloud< pcl::Intensity8u >::ConstPtr cloud,
const std::string &  layer_id = "mono_image",
double  opacity = 1.0 
)
inline

Show a monochrome 2D image on screen.

Parameters
[in]cloudthe input data representing the grayscale point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

Definition at line 212 of file image_viewer.h.

◆ showMonoImage() [5/5]

void pcl::visualization::ImageViewer::showMonoImage ( const unsigned char *  data,
unsigned  width,
unsigned  height,
const std::string &  layer_id = "mono_image",
double  opacity = 1.0 
)

Show a monochrome 2D image on screen.

Parameters
[in]datathe input data representing the image
[in]widththe width of the image
[in]heightthe height of the image
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ showRGBImage() [1/3]

template<typename T >
void pcl::visualization::ImageViewer::showRGBImage ( const pcl::PointCloud< T > &  cloud,
const std::string &  layer_id = "rgb_image",
double  opacity = 1.0 
)

Show a 2D image on screen, obtained from the RGB channel of a point cloud.

Parameters
[in]cloudthe input data representing the RGB point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

Definition at line 87 of file image_viewer.hpp.

◆ showRGBImage() [2/3]

template<typename T >
void pcl::visualization::ImageViewer::showRGBImage ( const typename pcl::PointCloud< T >::ConstPtr cloud,
const std::string &  layer_id = "rgb_image",
double  opacity = 1.0 
)
inline

Show a 2D image on screen, obtained from the RGB channel of a point cloud.

Parameters
[in]cloudthe input data representing the RGB point cloud
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

Definition at line 278 of file image_viewer.h.

◆ showRGBImage() [3/3]

void pcl::visualization::ImageViewer::showRGBImage ( const unsigned char *  data,
unsigned  width,
unsigned  height,
const std::string &  layer_id = "rgb_image",
double  opacity = 1.0 
)

Show a 2D RGB image on screen.

Parameters
[in]datathe input data representing the image
[in]widththe width of the image
[in]heightthe height of the image
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ showShortImage()

void pcl::visualization::ImageViewer::showShortImage ( const unsigned short *  short_image,
unsigned int  width,
unsigned int  height,
unsigned short  min_value = std::numeric_limits< unsigned short >::min(),
unsigned short  max_value = std::numeric_limits< unsigned short >::max(),
bool  grayscale = false,
const std::string &  layer_id = "short_image",
double  opacity = 1.0 
)

Show a 2D image (unsigned short) on screen.

Parameters
[in]short_imagethe input data representing the image in unsigned short format
[in]widththe width of the image
[in]heightthe height of the image
[in]min_valuefilter all values in the image to be larger than this minimum value
[in]max_valuefilter all values in the image to be smaller than this maximum value
[in]grayscaleshow data as grayscale (true) or not (false). Default: false
[in]layer_idthe name of the layer (default: "image")
[in]opacitythe opacity of the layer (default: 1.0)

◆ spin()

void pcl::visualization::ImageViewer::spin ( )

Spin method.

Calls the interactor and runs an internal loop.

◆ spinOnce()

void pcl::visualization::ImageViewer::spinOnce ( int  time = 1,
bool  force_redraw = true 
)

Spin once method.

Calls the interactor and updates the screen once.

Parameters
[in]time- How long (in ms) should the visualization loop be allowed to run.
[in]force_redraw- if false it might return without doing anything if the interactor's framerate does not require a redraw yet.

◆ wasStopped()

bool pcl::visualization::ImageViewer::wasStopped ( ) const
inline

Returns true when the user tried to close the window.

Definition at line 561 of file image_viewer.h.


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