Point Cloud Library (PCL)
1.14.1-dev
|
Ascii Point Cloud Reader. More...
#include <pcl/io/ascii_io.h>
Public Member Functions | |
ASCIIReader () | |
~ASCIIReader () override | |
int | readHeader (const std::string &file_name, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &file_version, int &data_type, unsigned int &data_idx, const int offset=0) override |
Read a point cloud data header from a FILE file. More... | |
int | read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &file_version, const int offset=0) override |
Read a point cloud data from a FILE file and store it into a pcl/PCLPointCloud2. More... | |
template<typename PointT > | |
void | setInputFields () |
Set the ascii file point fields. More... | |
void | setInputFields (const std::vector< pcl::PCLPointField > &fields) |
Set the ascii file point fields using a list of fields. More... | |
void | setSepChars (const std::string &chars) |
Set the Separating characters for the ascii point fields 2. More... | |
void | setExtension (const std::string &ext) |
Set the extension of the ascii point file type. More... | |
virtual int | read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &file_version, const int offset=0)=0 |
Read a point cloud data from a FILE file and store it into a pcl/PCLPointCloud2. More... | |
int | read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, const int offset=0) |
Read a point cloud data from a FILE file (FILE_V6 only!) and store it into a pcl/PCLPointCloud2. More... | |
template<typename PointT > | |
int | read (const std::string &file_name, pcl::PointCloud< PointT > &cloud, const int offset=0) |
Read a point cloud data from any FILE file, and convert it to the given template format. More... | |
Public Member Functions inherited from pcl::FileReader | |
FileReader ()=default | |
empty constructor More... | |
virtual | ~FileReader ()=default |
empty destructor More... | |
int | read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, const int offset=0) |
Read a point cloud data from a FILE file (FILE_V6 only!) and store it into a pcl/PCLPointCloud2. More... | |
template<typename PointT > | |
int | read (const std::string &file_name, pcl::PointCloud< PointT > &cloud, const int offset=0) |
Read a point cloud data from any FILE file, and convert it to the given template format. More... | |
Protected Member Functions | |
int | parse (const std::string &token, const pcl::PCLPointField &field, std::uint8_t *data_target) |
Parses token based on field type. More... | |
std::uint32_t | typeSize (int type) |
Returns the size in bytes of a point field type. More... | |
Protected Attributes | |
std::string | sep_chars_ {", \n\r\t"} |
std::string | extension_ {".txt"} |
std::vector< pcl::PCLPointField > | fields_ |
std::string | name_ {"AsciiReader"} |
Ascii Point Cloud Reader.
Read any ASCII file by setting the separating characters and input point fields.
Definition at line 55 of file ascii_io.h.
pcl::ASCIIReader::ASCIIReader | ( | ) |
|
override |
|
protected |
Parses token based on field type.
[in] | token | string representation of point fields |
[in] | field | token point field type |
[out] | data_target | address that the point field data should be assigned to returns the size of the parsed point field in bytes |
|
inline |
Read a point cloud data from a FILE file (FILE_V6 only!) and store it into a pcl/PCLPointCloud2.
FILE_V6 will generate a warning.
[in] | file_name | the name of the file containing the actual PointCloud data |
[out] | cloud | the resultant PointCloud message read from disk |
[in] | offset | the offset in the file where to expect the true header to begin. One usage example for setting the offset parameter is for reading data from a TAR "archive containing multiple files: TAR files always add a 512 byte header in front of the actual file, so set the offset to the next byte after the header (e.g., 513). |
|
overridevirtual |
Read a point cloud data from a FILE file and store it into a pcl/PCLPointCloud2.
[in] | file_name | the name of the file containing the actual PointCloud data |
[out] | cloud | the resultant PointCloud message read from disk |
[out] | origin | the sensor acquisition origin (only for > FILE_V7 - null if not present) |
[out] | orientation | the sensor acquisition orientation (only for > FILE_V7 - identity if not present) |
[out] | file_version | the FILE version of the file (either FILE_V6 or FILE_V7) |
[in] | offset | the offset in the file where to expect the true header to begin. One usage example for setting the offset parameter is for reading data from a TAR "archive containing multiple files: TAR files always add a 512 byte header in front of the actual file, so set the offset to the next byte after the header (e.g., 513). |
Implements pcl::FileReader.
virtual int pcl::FileReader::read |
Read a point cloud data from a FILE file and store it into a pcl/PCLPointCloud2.
[in] | file_name | the name of the file containing the actual PointCloud data |
[out] | cloud | the resultant PointCloud message read from disk |
[out] | origin | the sensor acquisition origin (only for > FILE_V7 - null if not present) |
[out] | orientation | the sensor acquisition orientation (only for > FILE_V7 - identity if not present) |
[out] | file_version | the FILE version of the file (either FILE_V6 or FILE_V7) |
[in] | offset | the offset in the file where to expect the true header to begin. One usage example for setting the offset parameter is for reading data from a TAR "archive containing multiple files: TAR files always add a 512 byte header in front of the actual file, so set the offset to the next byte after the header (e.g., 513). |
|
inline |
Read a point cloud data from any FILE file, and convert it to the given template format.
[in] | file_name | the name of the file containing the actual PointCloud data |
[out] | cloud | the resultant PointCloud message read from disk |
[in] | offset | the offset in the file where to expect the true header to begin. One usage example for setting the offset parameter is for reading data from a TAR "archive containing multiple files: TAR files always add a 512 byte header in front of the actual file, so set the offset to the next byte after the header (e.g., 513). |
|
overridevirtual |
Read a point cloud data header from a FILE file.
Load only the meta information (number of points, their types, etc), and not the points themselves, from a given FILE file. Useful for fast evaluation of the underlying data structure.
Returns:
[in] | file_name | the name of the file to load |
[out] | cloud | the resultant point cloud dataset (only the header will be filled) |
[out] | origin | the sensor acquisition origin (only for > FILE_V7 - null if not present) |
[out] | orientation | the sensor acquisition orientation (only for > FILE_V7 - identity if not present) |
[out] | file_version | the FILE version of the file (either FILE_V6 or FILE_V7) |
[out] | data_type | the type of data (binary data=1, ascii=0, etc) |
[out] | data_idx | the offset of cloud data within the file |
[in] | offset | the offset in the file where to expect the true header to begin. One usage example for setting the offset parameter is for reading data from a TAR "archive containing multiple files: TAR files always add a 512 byte header in front of the actual file, so set the offset to the next byte after the header (e.g., 513). |
Implements pcl::FileReader.
|
inline |
Set the extension of the ascii point file type.
[in] | ext | extension (example : ".txt" or ".xyz" ) |
Definition at line 128 of file ascii_io.h.
void pcl::ASCIIReader::setInputFields |
Set the ascii file point fields.
Definition at line 47 of file ascii_io.hpp.
References fields_, and typeSize().
void pcl::ASCIIReader::setInputFields | ( | const std::vector< pcl::PCLPointField > & | fields | ) |
Set the ascii file point fields using a list of fields.
[in] | fields | is a list of point fields, in order, in the input ascii file |
void pcl::ASCIIReader::setSepChars | ( | const std::string & | chars | ) |
Set the Separating characters for the ascii point fields 2.
[in] | chars | string of separating characters Sets the separating characters for the point fields. The default separating characters are " \n\t," |
|
protected |
Returns the size in bytes of a point field type.
[in] | type | point field type returns the size of the type in bytes |
Referenced by setInputFields().
|
protected |
Definition at line 132 of file ascii_io.h.
|
protected |
Definition at line 133 of file ascii_io.h.
Referenced by setInputFields().
|
protected |
Definition at line 134 of file ascii_io.h.
|
protected |
Definition at line 131 of file ascii_io.h.