Point Cloud Library (PCL)
1.14.1-dev
|
Point Cloud Data (PCD) file format writer. More...
#include <pcl/io/pcd_io.h>
Public Member Functions | |
PCDWriter ()=default | |
~PCDWriter () override=default | |
void | setMapSynchronization (bool sync) |
Set whether mmap() synchornization via msync() is desired before munmap() calls. More... | |
std::string | generateHeaderBinary (const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation) |
Generate the header of a PCD file format. More... | |
int | generateHeaderBinaryCompressed (std::ostream &os, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation) |
Generate the header of a BINARY_COMPRESSED PCD file format. More... | |
std::string | generateHeaderBinaryCompressed (const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation) |
Generate the header of a BINARY_COMPRESSED PCD file format. More... | |
std::string | generateHeaderASCII (const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation) |
Generate the header of a PCD file format. More... | |
int | writeASCII (const std::string &file_name, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity(), const int precision=8) |
Save point cloud data to a PCD file containing n-D points, in ASCII format. More... | |
int | writeBinary (const std::string &file_name, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity()) |
Save point cloud data to a PCD file containing n-D points, in BINARY format. More... | |
int | writeBinary (std::ostream &os, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity()) |
Save point cloud data to a std::ostream containing n-D points, in BINARY format. More... | |
int | writeBinaryCompressed (const std::string &file_name, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity()) |
Save point cloud data to a PCD file containing n-D points, in BINARY_COMPRESSED format. More... | |
int | writeBinaryCompressed (std::ostream &os, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity()) |
Save point cloud data to a std::ostream containing n-D points, in BINARY_COMPRESSED format. More... | |
int | write (const std::string &file_name, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity(), const bool binary=false) override |
Save point cloud data to a PCD file containing n-D points. More... | |
int | write (const std::string &file_name, const pcl::PCLPointCloud2::ConstPtr &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity(), const bool binary=false) |
Save point cloud data to a PCD file containing n-D points. More... | |
template<typename PointT > | |
int | writeBinary (const std::string &file_name, const pcl::PointCloud< PointT > &cloud) |
Save point cloud data to a PCD file containing n-D points, in BINARY format. More... | |
template<typename PointT > | |
int | writeBinaryCompressed (const std::string &file_name, const pcl::PointCloud< PointT > &cloud) |
Save point cloud data to a binary comprssed PCD file. More... | |
template<typename PointT > | |
int | writeBinary (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const pcl::Indices &indices) |
Save point cloud data to a PCD file containing n-D points, in BINARY format. More... | |
template<typename PointT > | |
int | writeASCII (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const int precision=8) |
Save point cloud data to a PCD file containing n-D points, in ASCII format. More... | |
template<typename PointT > | |
int | writeASCII (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const pcl::Indices &indices, const int precision=8) |
Save point cloud data to a PCD file containing n-D points, in ASCII format. More... | |
template<typename PointT > | |
int | write (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const bool binary=false) |
Save point cloud data to a PCD file containing n-D points. More... | |
template<typename PointT > | |
int | write (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const pcl::Indices &indices, bool binary=false) |
Save point cloud data to a PCD file containing n-D points. More... | |
Public Member Functions inherited from pcl::FileWriter | |
FileWriter ()=default | |
Empty constructor. More... | |
virtual | ~FileWriter ()=default |
Empty destructor. More... | |
int | write (const std::string &file_name, const pcl::PCLPointCloud2::ConstPtr &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity(), const bool binary=false) |
Save point cloud data to a FILE file containing n-D points. More... | |
template<typename PointT > | |
int | write (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const bool binary=false) |
Save point cloud data to a FILE file containing n-D points. More... | |
Static Public Member Functions | |
template<typename PointT > | |
static std::string | generateHeader (const pcl::PointCloud< PointT > &cloud, const int nr_points=std::numeric_limits< int >::max()) |
Generate the header of a PCD file format. More... | |
Protected Member Functions | |
void | setLockingPermissions (const std::string &file_name, boost::interprocess::file_lock &lock) |
Set permissions for file locking (Boost 1.49+). More... | |
void | resetLockingPermissions (const std::string &file_name, boost::interprocess::file_lock &lock) |
Reset permissions for file locking (Boost 1.49+). More... | |
|
default |
|
overridedefault |
|
static |
Generate the header of a PCD file format.
[in] | cloud | the point cloud data message |
[in] | nr_points | if given, use this to fill in WIDTH, HEIGHT (=1), and POINTS in the header By default, nr_points is set to INTMAX, and the data in the header is used instead. |
Definition at line 57 of file pcd_io.hpp.
References pcl::getFieldSize(), pcl::getFieldType(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.
std::string pcl::PCDWriter::generateHeaderASCII | ( | const pcl::PCLPointCloud2 & | cloud, |
const Eigen::Vector4f & | origin, | ||
const Eigen::Quaternionf & | orientation | ||
) |
Generate the header of a PCD file format.
[in] | cloud | the point cloud data message |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |
std::string pcl::PCDWriter::generateHeaderBinary | ( | const pcl::PCLPointCloud2 & | cloud, |
const Eigen::Vector4f & | origin, | ||
const Eigen::Quaternionf & | orientation | ||
) |
Generate the header of a PCD file format.
[in] | cloud | the point cloud data message |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |
std::string pcl::PCDWriter::generateHeaderBinaryCompressed | ( | const pcl::PCLPointCloud2 & | cloud, |
const Eigen::Vector4f & | origin, | ||
const Eigen::Quaternionf & | orientation | ||
) |
Generate the header of a BINARY_COMPRESSED PCD file format.
[in] | cloud | the point cloud data message |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |
int pcl::PCDWriter::generateHeaderBinaryCompressed | ( | std::ostream & | os, |
const pcl::PCLPointCloud2 & | cloud, | ||
const Eigen::Vector4f & | origin, | ||
const Eigen::Quaternionf & | orientation | ||
) |
Generate the header of a BINARY_COMPRESSED PCD file format.
[out] | os | the stream into which to write the header |
[in] | cloud | the point cloud data message |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |
|
protected |
Reset permissions for file locking (Boost 1.49+).
[in] | file_name | the file name to reset permission for file locking |
[in,out] | lock | the file lock |
|
protected |
Set permissions for file locking (Boost 1.49+).
[in] | file_name | the file name to set permission for file locking |
[in,out] | lock | the file lock |
|
inline |
Set whether mmap() synchornization via msync() is desired before munmap() calls.
Setting this to true could prevent NFS data loss (see http://www.pcl-developers.org/PCD-IO-consistency-on-NFS-msync-needed-td4885942.html). Default: false
[in] | sync | set to true if msync() should be called before munmap() |
|
inlineoverridevirtual |
Save point cloud data to a PCD file containing n-D points.
[in] | file_name | the output file name |
[in] | cloud | the point cloud data message |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |
[in] | binary | set to true if the file is to be written in a binary PCD format, false (default) for ASCII |
Caution: PointCloud structures containing an RGB field have traditionally used packed float values to store RGB data. Storing a float as ASCII can introduce variations to the smallest bits, and thus significantly alter the data. This is a known issue, and the fix involves switching RGB data to be stored as a packed integer in future versions of PCL.
As an intermediary solution, precision 8 is used, which guarantees lossless storage for RGB.
Implements pcl::FileWriter.
Definition at line 465 of file pcd_io.h.
Referenced by pcl::io::savePCDFile(), pcl::io::savePCDFileASCII(), and pcl::io::savePCDFileBinary().
|
inline |
Save point cloud data to a PCD file containing n-D points.
[in] | file_name | the output file name |
[in] | cloud | the point cloud data message (boost shared pointer) |
[in] | binary | set to true if the file is to be written in a binary PCD format, false (default) for ASCII |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |
Caution: PointCloud structures containing an RGB field have traditionally used packed float values to store RGB data. Storing a float as ASCII can introduce variations to the smallest bits, and thus significantly alter the data. This is a known issue, and the fix involves switching RGB data to be stored as a packed integer in future versions of PCL.
Definition at line 491 of file pcd_io.h.
References pcl::write().
|
inline |
Save point cloud data to a PCD file containing n-D points.
[in] | file_name | the output file name |
[in] | cloud | the pcl::PointCloud data |
[in] | binary | set to true if the file is to be written in a binary PCD format, false (default) for ASCII |
Caution: PointCloud structures containing an RGB field have traditionally used packed float values to store RGB data. Storing a float as ASCII can introduce variations to the smallest bits, and thus significantly alter the data. This is a known issue, and the fix involves switching RGB data to be stored as a packed integer in future versions of PCL.
|
inline |
Save point cloud data to a PCD file containing n-D points.
[in] | file_name | the output file name |
[in] | cloud | the pcl::PointCloud data |
[in] | indices | the set of point indices that we want written to disk |
[in] | binary | set to true if the file is to be written in a binary PCD format, false (default) for ASCII |
Caution: PointCloud structures containing an RGB field have traditionally used packed float values to store RGB data. Storing a float as ASCII can introduce variations to the smallest bits, and thus significantly alter the data. This is a known issue, and the fix involves switching RGB data to be stored as a packed integer in future versions of PCL.
int pcl::PCDWriter::writeASCII | ( | const std::string & | file_name, |
const pcl::PCLPointCloud2 & | cloud, | ||
const Eigen::Vector4f & | origin = Eigen::Vector4f::Zero() , |
||
const Eigen::Quaternionf & | orientation = Eigen::Quaternionf::Identity() , |
||
const int | precision = 8 |
||
) |
Save point cloud data to a PCD file containing n-D points, in ASCII format.
[in] | file_name | the output file name |
[in] | cloud | the point cloud data message |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |
[in] | precision | the specified output numeric stream precision (default: 8) |
Caution: PointCloud structures containing an RGB field have traditionally used packed float values to store RGB data. Storing a float as ASCII can introduce variations to the smallest bits, and thus significantly alter the data. This is a known issue, and the fix involves switching RGB data to be stored as a packed integer in future versions of PCL.
As an intermediary solution, precision 8 is used, which guarantees lossless storage for RGB.
int pcl::PCDWriter::writeASCII | ( | const std::string & | file_name, |
const pcl::PointCloud< PointT > & | cloud, | ||
const int | precision = 8 |
||
) |
Save point cloud data to a PCD file containing n-D points, in ASCII format.
[in] | file_name | the output file name |
[in] | cloud | the point cloud data message |
[in] | precision | the specified output numeric stream precision (default: 8) |
Definition at line 439 of file pcd_io.hpp.
References pcl::PCLPointField::BOOL, pcl::PointCloud< PointT >::empty(), pcl::PCLPointField::FLOAT32, pcl::PCLPointField::FLOAT64, pcl::PointCloud< PointT >::height, pcl::PCLPointField::INT16, pcl::PCLPointField::INT32, pcl::PCLPointField::INT64, pcl::PCLPointField::INT8, pcl::PointCloud< PointT >::size(), pcl::PCLPointField::UINT16, pcl::PCLPointField::UINT32, pcl::PCLPointField::UINT64, pcl::PCLPointField::UINT8, and pcl::PointCloud< PointT >::width.
int pcl::PCDWriter::writeASCII | ( | const std::string & | file_name, |
const pcl::PointCloud< PointT > & | cloud, | ||
const pcl::Indices & | indices, | ||
const int | precision = 8 |
||
) |
Save point cloud data to a PCD file containing n-D points, in ASCII format.
[in] | file_name | the output file name |
[in] | cloud | the point cloud data message |
[in] | indices | the set of point indices that we want written to disk |
[in] | precision | the specified output numeric stream precision (default: 8) |
Definition at line 733 of file pcd_io.hpp.
References pcl::PCLPointField::BOOL, pcl::PointCloud< PointT >::empty(), pcl::PCLPointField::FLOAT32, pcl::PCLPointField::FLOAT64, pcl::PointCloud< PointT >::height, pcl::PCLPointField::INT16, pcl::PCLPointField::INT32, pcl::PCLPointField::INT64, pcl::PCLPointField::INT8, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::size(), pcl::PCLPointField::UINT16, pcl::PCLPointField::UINT32, pcl::PCLPointField::UINT64, pcl::PCLPointField::UINT8, and pcl::PointCloud< PointT >::width.
int pcl::PCDWriter::writeBinary | ( | const std::string & | file_name, |
const pcl::PCLPointCloud2 & | cloud, | ||
const Eigen::Vector4f & | origin = Eigen::Vector4f::Zero() , |
||
const Eigen::Quaternionf & | orientation = Eigen::Quaternionf::Identity() |
||
) |
Save point cloud data to a PCD file containing n-D points, in BINARY format.
[in] | file_name | the output file name |
[in] | cloud | the point cloud data message |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |
int pcl::PCDWriter::writeBinary | ( | const std::string & | file_name, |
const pcl::PointCloud< PointT > & | cloud | ||
) |
Save point cloud data to a PCD file containing n-D points, in BINARY format.
[in] | file_name | the output file name |
[in] | cloud | the point cloud data message |
Definition at line 111 of file pcd_io.hpp.
References pcl::PointCloud< PointT >::empty(), pcl::getFieldSize(), pcl::io::raw_close(), pcl::io::raw_fallocate(), pcl::io::raw_open(), and pcl::PointCloud< PointT >::size().
int pcl::PCDWriter::writeBinary | ( | const std::string & | file_name, |
const pcl::PointCloud< PointT > & | cloud, | ||
const pcl::Indices & | indices | ||
) |
Save point cloud data to a PCD file containing n-D points, in BINARY format.
[in] | file_name | the output file name |
[in] | cloud | the point cloud data message |
[in] | indices | the set of point indices that we want written to disk |
Definition at line 610 of file pcd_io.hpp.
References pcl::PointCloud< PointT >::empty(), pcl::getFieldSize(), pcl::io::raw_close(), pcl::io::raw_fallocate(), and pcl::io::raw_open().
int pcl::PCDWriter::writeBinary | ( | std::ostream & | os, |
const pcl::PCLPointCloud2 & | cloud, | ||
const Eigen::Vector4f & | origin = Eigen::Vector4f::Zero() , |
||
const Eigen::Quaternionf & | orientation = Eigen::Quaternionf::Identity() |
||
) |
Save point cloud data to a std::ostream containing n-D points, in BINARY format.
[out] | os | the stream into which to write the data |
[in] | cloud | the point cloud data message |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |
int pcl::PCDWriter::writeBinaryCompressed | ( | const std::string & | file_name, |
const pcl::PCLPointCloud2 & | cloud, | ||
const Eigen::Vector4f & | origin = Eigen::Vector4f::Zero() , |
||
const Eigen::Quaternionf & | orientation = Eigen::Quaternionf::Identity() |
||
) |
Save point cloud data to a PCD file containing n-D points, in BINARY_COMPRESSED format.
[in] | file_name | the output file name |
[in] | cloud | the point cloud data message |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |
Referenced by pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >::insertRange(), and pcl::io::savePCDFileBinaryCompressed().
int pcl::PCDWriter::writeBinaryCompressed | ( | const std::string & | file_name, |
const pcl::PointCloud< PointT > & | cloud | ||
) |
Save point cloud data to a binary comprssed PCD file.
[in] | file_name | the output file name |
[in] | cloud | the point cloud data message |
Definition at line 241 of file pcd_io.hpp.
References pcl::PointCloud< PointT >::empty(), pcl::getFieldSize(), pcl::lzfCompress(), pcl::io::raw_close(), pcl::io::raw_fallocate(), pcl::io::raw_open(), and pcl::PointCloud< PointT >::size().
int pcl::PCDWriter::writeBinaryCompressed | ( | std::ostream & | os, |
const pcl::PCLPointCloud2 & | cloud, | ||
const Eigen::Vector4f & | origin = Eigen::Vector4f::Zero() , |
||
const Eigen::Quaternionf & | orientation = Eigen::Quaternionf::Identity() |
||
) |
Save point cloud data to a std::ostream containing n-D points, in BINARY_COMPRESSED format.
[out] | os | the stream into which to write the data |
[in] | cloud | the point cloud data message |
[in] | origin | the sensor acquisition origin |
[in] | orientation | the sensor acquisition orientation |