point_cloud_library / 1.12.1 / classpcl_1_1io_1_1_average_buffer.html /

A buffer that computes running window average of the data inserted. More...

#include <pcl/io/buffers.h>

Public Member Functions

AverageBuffer (std::size_t size, unsigned char window_size)
Construct a buffer of given size with given running window size. More...
~AverageBuffer ()
T operator[] (std::size_t idx) const override
Access an element at a given index. More...
void push (std::vector< T > &data) override
Insert a new chunk of data into the buffer. More...
- Public Member Functions inherited from pcl::io::Buffer< T >
virtual ~Buffer ()
std::size_t size () const
Get the size of the buffer. More...

Additional Inherited Members

- Public Types inherited from pcl::io::Buffer< T >
using value_type = T
- Protected Member Functions inherited from pcl::io::Buffer< T >
Buffer (std::size_t size)
- Protected Attributes inherited from pcl::io::Buffer< T >
const std::size_t size_

Detailed Description

template<typename T>
class pcl::io::AverageBuffer< T >

A buffer that computes running window average of the data inserted.

The buffer and window sizes are specified at construction time. The buffer size defines the number of elements in each data chunk that is inserted in the buffer. The window size is the number of last data chunks that are considered for average computation. The average is computed separately for 1st, 2nd, etc. element in data chunks.

The data can contain invalid elements. For integral types zeros are assumed to be invalid elements, whereas for floating-point types it is quiet NaN. Invalid elements are ignored when computing average.

The buffer is thread-safe.

Definition at line 219 of file buffers.h.

Constructor & Destructor Documentation

AverageBuffer()

template<typename T >
pcl::io::AverageBuffer< T >::AverageBuffer ( std::size_t size,
unsigned char window_size
)

Construct a buffer of given size with given running window size.

Parameters
[in] size buffer size
[in] window_size running window size over which the median value should be computed (0..255)

Definition at line 232 of file buffers.hpp.

References pcl::io::Buffer< T >::size_.

~AverageBuffer()

template<typename T >
pcl::io::AverageBuffer< T >::~AverageBuffer

Definition at line 250 of file buffers.hpp.

Member Function Documentation

operator[]()

template<typename T >
T pcl::io::AverageBuffer< T >::operator[] ( std::size_t idx ) const
overridevirtual

Access an element at a given index.

This operation is constant time.

Implements pcl::io::Buffer< T >.

Definition at line 255 of file buffers.hpp.

push()

template<typename T >
void pcl::io::AverageBuffer< T >::push ( std::vector< T > & data )
overridevirtual

Insert a new chunk of data into the buffer.

This operation is linear in buffer size.

Parameters
[in] data input data chunk, the memory will be "stolen"

Implements pcl::io::Buffer< T >.

Definition at line 264 of file buffers.hpp.

References buffer_traits< T >::is_invalid().


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

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