pcl::io::LZFImageReader Class Reference
[Module io]

PCL-LZF image format reader. More...

#include <pcl/io/lzf_image_io.h>

Inheritance diagram for pcl::io::LZFImageReader:
Inheritance graph
[legend]
Collaboration diagram for pcl::io::LZFImageReader:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LZFImageReader ()
 Empty constructor.
virtual ~LZFImageReader ()
 Empty destructor.
bool readParameters (const std::string &filename)
 Read camera parameters from a given file and store them internally.
void setParameters (const CameraParameters &parameters)
 Read the parameters from a struct instead.
CameraParameters getParameters () const
 Get the camera parameters currently being used returns a CameraParameters struct.
uint32_t getWidth () const
 Get the image width as read from disk.
uint32_t getHeight () const
 Get the image height as read from disk.
std::string getImageType () const
 Get the type of the image read from disk.

Protected Member Functions

virtual bool readParameters (std::istream &)
 Read camera parameters from a given stream and store them internally.
bool loadImageBlob (const std::string &filename, std::vector< char > &data, uint32_t &uncompressed_size)
 Load a compressed image array from disk.
bool decompress (const std::vector< char > &input, std::vector< char > &output)
 Realtime LZF decompression.

Protected Attributes

uint32_t width_
 The image width, as read from the file.
uint32_t height_
 The image height, as read from the file.
std::string image_type_identifier_
 The image type string, as read from the file.
CameraParameters parameters_
 Internal set of camera parameters.

Detailed Description

PCL-LZF image format reader.

The PCL-LZF image format is nothing else but a LZF-modified compression over an existing file type (e.g., PNG). However, in certain situations, like RGB data for example, an [RGBRGB...RGB] array will be first reordered into [RR...RGG...GBB...B] in order to ensure better compression.

The current list of compressors/decompressors include: * LZF compressed 24-bit [RR...RGG...GBB...B] data * LZF compressed 8-bit Bayer data * LZF compressed 16-bit YUV422 data * LZF compressed 16-bit depth data

Please note that files found using the above mentioned extensions will be treated as such. Inherit from this class and overwrite the I/O methods if you plan to change this behavior.

The main advantage of using the PCL-LZF image I/O routines is a very good file size versus I/O speed ratio. Tests performed using LZF, Snappy, ZIP, GZ2, BZIP2, as well as PNG, JPEG, and TIFF compression have shown that the internal PCL LZF methods provide the best score for the types of applications PCL is suited for.

Author:
Radu B. Rusu

Definition at line 86 of file lzf_image_io.h.


Constructor & Destructor Documentation

pcl::io::LZFImageReader::LZFImageReader (  ) 

Empty constructor.

virtual pcl::io::LZFImageReader::~LZFImageReader (  )  [inline, virtual]

Empty destructor.

Definition at line 92 of file lzf_image_io.h.


Member Function Documentation

bool pcl::io::LZFImageReader::decompress ( const std::vector< char > &  input,
std::vector< char > &  output 
) [protected]
uint32_t pcl::io::LZFImageReader::getHeight (  )  const [inline]
std::string pcl::io::LZFImageReader::getImageType (  )  const [inline]
CameraParameters pcl::io::LZFImageReader::getParameters (  )  const [inline]

Get the camera parameters currently being used returns a CameraParameters struct.

Definition at line 111 of file lzf_image_io.h.

uint32_t pcl::io::LZFImageReader::getWidth (  )  const [inline]
bool pcl::io::LZFImageReader::loadImageBlob ( const std::string &  filename,
std::vector< char > &  data,
uint32_t &  uncompressed_size 
) [protected]

Load a compressed image array from disk.

Parameters:
[in] filename the file name to load the data from
[out] data_size the size of the data
Returns:
an array filled with the data loaded from disk, NULL if error

Referenced by pcl::io::LZFBayer8ImageReader::read(), pcl::io::LZFYUV422ImageReader::read(), pcl::io::LZFRGB24ImageReader::read(), pcl::io::LZFDepth16ImageReader::read(), pcl::io::LZFBayer8ImageReader::readOMP(), pcl::io::LZFYUV422ImageReader::readOMP(), pcl::io::LZFRGB24ImageReader::readOMP(), and pcl::io::LZFDepth16ImageReader::readOMP().

virtual bool pcl::io::LZFImageReader::readParameters ( std::istream &   )  [inline, protected, virtual]

Read camera parameters from a given stream and store them internally.

Returns:
true if operation successful, false otherwise

Reimplemented in pcl::io::LZFDepth16ImageReader, and pcl::io::LZFRGB24ImageReader.

Definition at line 142 of file lzf_image_io.h.

bool pcl::io::LZFImageReader::readParameters ( const std::string &  filename  ) 

Read camera parameters from a given file and store them internally.

Returns:
true if operation successful, false otherwise
void pcl::io::LZFImageReader::setParameters ( const CameraParameters parameters  )  [inline]

Read the parameters from a struct instead.

Parameters:
[in] parameters Camera parameters to use

Definition at line 103 of file lzf_image_io.h.


Member Data Documentation

uint32_t pcl::io::LZFImageReader::height_ [protected]

The image height, as read from the file.

Definition at line 167 of file lzf_image_io.h.

The image type string, as read from the file.

Definition at line 170 of file lzf_image_io.h.

Internal set of camera parameters.

Definition at line 173 of file lzf_image_io.h.

Referenced by pcl::io::LZFDepth16ImageReader::read(), and pcl::io::LZFDepth16ImageReader::readOMP().

uint32_t pcl::io::LZFImageReader::width_ [protected]

The image width, as read from the file.

Definition at line 164 of file lzf_image_io.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends