IO.h
Go to the documentation of this file.
1 // kate: replace-tabs off; indent-width 4; indent-mode normal
2 // vim: ts=4:sw=4:noexpandtab
3 /*
4 
5 Copyright (c) 2010--2012,
6 François Pomerleau and Stephane Magnenat, ASL, ETHZ, Switzerland
7 You can contact the authors at <f dot pomerleau at gmail dot com> and
8 <stephane at magnenat dot net>
9 
10 All rights reserved.
11 
12 Redistribution and use in source and binary forms, with or without
13 modification, are permitted provided that the following conditions are met:
14  * Redistributions of source code must retain the above copyright
15  notice, this list of conditions and the following disclaimer.
16  * Redistributions in binary form must reproduce the above copyright
17  notice, this list of conditions and the following disclaimer in the
18  documentation and/or other materials provided with the distribution.
19  * Neither the name of the <organization> nor the
20  names of its contributors may be used to endorse or promote products
21  derived from this software without specific prior written permission.
22 
23 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
24 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 DISCLAIMED. IN NO EVENT SHALL ETH-ASL BE LIABLE FOR ANY
27 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
30 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 
34  */
35 
36 #ifndef __POINTMATCHER_IO_H
37 #define __POINTMATCHER_IO_H
38 
39 #include "PointMatcher.h"
40 
42 template<typename T>
44 {
45  typedef typename PointMatcher<T>::Vector Vector;
46  typedef typename PointMatcher<T>::Matrix Matrix;
53 
55  typedef std::pair<int, std::string >LabelAssociationPair;
56 
59  typedef std::map<std::string, LabelAssociationPair > SublabelAssociationMap;
60 
61  static std::string getColLabel(const Label& label, const int row);
62 
65  {
70  };
71 
74  {
78 
81  };
82 
84  typedef std::vector<SupportedLabel> SupportedLabels;
85 
88  {
90  unsigned int matrixRowId;
92 
94  //TODO: move that to .cpp
96  {
97  init(name);
98  };
99 
101  {
102  init("");
103  };
104 
105  private:
107  {
108  this->name = name;
109  this->matrixRowId = 0;
110  this->matrixType = UNSUPPORTED;
111  };
112  };
113 
118  {
119  // This table can be read as:
120  // (internalName, externalName, type)
121  const static SupportedLabels labels = {
122  {"x", "x", FEATURE},
123  {"y", "y", FEATURE},
124  {"z", "z", FEATURE},
125  {"pad", "pad", FEATURE},
126  //{"internalName", "externalName", FEATURE},
127  {"normals", "nx", DESCRIPTOR},
128  {"normals", "ny", DESCRIPTOR},
129  {"normals", "nz", DESCRIPTOR},
130  {"normals", "normal_x", DESCRIPTOR},
131  {"normals", "normal_y", DESCRIPTOR},
132  {"normals", "normal_z", DESCRIPTOR},
133  {"observationDirections", "observationDirections0", DESCRIPTOR},
134  {"observationDirections", "observationDirections1", DESCRIPTOR},
135  {"observationDirections", "observationDirections2", DESCRIPTOR},
136  {"color", "red", DESCRIPTOR},
137  {"color", "green", DESCRIPTOR},
138  {"color", "blue", DESCRIPTOR},
139  {"color", "alpha", DESCRIPTOR},
140  {"eigValues", "eigValues0", DESCRIPTOR},
141  {"eigValues", "eigValues1", DESCRIPTOR},
142  {"eigValues", "eigValues2", DESCRIPTOR},
143  {"eigVectors", "eigVectors0X", DESCRIPTOR},
144  {"eigVectors", "eigVectors0Y", DESCRIPTOR},
145  {"eigVectors", "eigVectors0Z", DESCRIPTOR},
146  {"eigVectors", "eigVectors1X", DESCRIPTOR},
147  {"eigVectors", "eigVectors1Y", DESCRIPTOR},
148  {"eigVectors", "eigVectors1Z", DESCRIPTOR},
149  {"eigVectors", "eigVectors2X", DESCRIPTOR},
150  {"eigVectors", "eigVectors2Y", DESCRIPTOR},
151  {"eigVectors", "eigVectors2Z", DESCRIPTOR},
152  {"intensity", "intensity", DESCRIPTOR},
153  //{"internalName", "externalName", DESCRIPTOR},
154  {"time", "time", TIME}
155  //{"internalName", "externalName", TIME}
156  };
157 
158  return labels;
159  }
160 
163  {
165 
166  public:
168  void add(const std::string internalName);
169 
171  void add(const std::string internalName, const unsigned int dim);
172 
173 
175  Labels getLabels() const;
176  };
177 
178 
180  //static PMPropTypes getPMType(const std::string& externalName); //! Return the type of information specific to a DataPoints based on a sulabel name
181 
182  // CSV
183  static DataPoints loadCSV(const std::string& fileName);
184  static DataPoints loadCSV(std::istream& is);
185 
186  static void saveCSV(const DataPoints& data, const std::string& fileName, unsigned precision);
187  static void saveCSV(const DataPoints& data, std::ostream& os);
188 
189  // VTK
192  {
195  };
196 
198  struct SplitTime
199  {
202  Eigen::Matrix<unsigned int, Eigen::Dynamic, Eigen::Dynamic> high32;
205  Eigen::Matrix<unsigned int, Eigen::Dynamic, Eigen::Dynamic> low32;
206 
208  SplitTime(): isHigh32Found(false), isLow32Found(false){};
209 
210  };
211 
212  static DataPoints loadVTK(const std::string& fileName);
213  static DataPoints loadVTK(std::istream& is);
214 
215  static void saveVTK(const DataPoints& data, const std::string& fileName, bool binary = false, unsigned precision = 7);
216 
217  // PLY
218  static DataPoints loadPLY(const std::string& fileName);
219  static DataPoints loadPLY(std::istream& is);
220 
221  static void savePLY(const DataPoints& data, const std::string& fileName, unsigned precision);
222 
223  // PCD
224  static DataPoints loadPCD(const std::string& fileName);
225  static DataPoints loadPCD(std::istream& is);
226 
227  static void savePCD(const DataPoints& data, const std::string& fileName, unsigned precision);
228 
230  struct FileInfo
231  {
232  typedef Eigen::Matrix<T, 3, 1> Vector3;
233 
240 
242  };
243 
245  struct FileInfoVector: public std::vector<FileInfo>
246  {
247  FileInfoVector();
248  FileInfoVector(const std::string& fileName, std::string dataPath = "", std::string configPath = "");
249 
250  protected:
251  std::string localToGlobalFileName(const std::string& path, const std::string& fileName);
252  bool findTransform(const PointMatcherSupport::CsvElements& data, const std::string& prefix, unsigned dim);
253  TransformationParameters getTransform(const PointMatcherSupport::CsvElements& data, const std::string& prefix, unsigned dim, unsigned line);
254  };
255 
257  struct CsvDescriptor {
259  unsigned start_col;
260  unsigned span;
261  };
262 
264  static bool plyPropTypeValid (const std::string& type);
265 
267  struct PLYProperty
268  {
269  //PLY information:
273  unsigned pos;
274  bool is_list;
275 
276  //PointMatcher information:
278  int pmRowID;
279 
280  PLYProperty() { }
281 
282  // regular property
283  PLYProperty(const std::string& type, const std::string& name, const unsigned pos);
284 
285  // list property
286  PLYProperty(const std::string& idx_type, const std::string& type, const std::string& name, const unsigned pos);
287 
288  bool operator==(const PLYProperty& other) const;
289  };
290 
293  typedef std::map<std::string, std::vector<PLYProperty> > PLYDescPropMap;
294 
296  typedef std::vector<PLYProperty> PLYProperties;
297 
299  typedef typename PLYProperties::iterator it_PLYProp;
300 
303  {
304  public:
306  unsigned num;
307  unsigned total_props;
308  unsigned offset;
310  unsigned nbFeatures;
311  unsigned nbDescriptors;
312 
313 
315 
323  PLYElement(const std::string& name, const unsigned num, const unsigned offset) :
325 
326  //bool supportsProperty(const PLYProperty& prop) const; //!< Returns true if property pro is supported by element
327 
328  bool operator==(const PLYElement& other) const;
329 
330  };
331 
332 
334  class PLYVertex : public PLYElement
335  {
336  public:
338 
344  PLYVertex(const unsigned num, const unsigned offset) : PLYElement("vertex", num, offset) {}
345 
346  };
347 
350  {
352  {
355  };
356 
357  static ElementTypes getElementType(const std::string& elem_name);
358  public:
359  bool elementSupported(const std::string& elem_name);
360  static PLYElement* createElement(const std::string& elem_name, const int elem_num, const unsigned offset);
361  };
362 
364  struct PCDproperty
365  {
367  unsigned int size;
368  char type;
369  unsigned int count;
370 
371  //PointMatcher information:
373  int pmRowID;
374 
377  {
378  field = "";
379  size = 0;
380  type = '-';
381  count = 1;
383  pmRowID = -1;
384  };
385  };
386 
388  struct PCDheader
389  {
391  std::vector<PCDproperty> properties;
392  unsigned int width;
393  unsigned int height;
394  Eigen::Matrix<T, 7, 1> viewPoint;
395  unsigned int nbPoints;
397 
399  {
400  version = "-";
401  width = 0;
402  height = 0;
403  viewPoint = Eigen::Matrix<T, 7, 1>::Zero();
404  nbPoints = 0;
405  dataType = "-";
406  };
407  };
408 };
409 
410 
411 #endif // __POINTMATCHER_IO_H
PointMatcherIO::PCDproperty::size
unsigned int size
Size of the property in bytes.
Definition: IO.h:367
PointMatcherIO
IO Functions and classes that are dependant on scalar type are defined in this templatized class.
Definition: IO.h:43
PointMatcherIO::PCDheader::nbPoints
unsigned int nbPoints
number of points, same as width*height
Definition: IO.h:395
PointMatcherIO::CsvDescriptor::name
std::string name
name of descriptor
Definition: IO.h:258
PointMatcherIO::PLYDescPropMap
std::map< std::string, std::vector< PLYProperty > > PLYDescPropMap
Definition: IO.h:293
PointMatcherIO::GenericInputHeader
Helper structure designed to parse file headers.
Definition: IO.h:87
PointMatcherIO::PLYProperty::idx_type
std::string idx_type
for list properties, type of number of elements
Definition: IO.h:272
PointMatcherIO::LabelAssociationPair
std::pair< int, std::string > LabelAssociationPair
Pair feature column, feature name.
Definition: IO.h:55
PointMatcherIO::PLYVertex
Implementation of PLY vertex element.
Definition: IO.h:334
PointMatcherIO::UNSUPPORTED
@ UNSUPPORTED
Definition: IO.h:69
PointMatcherIO::SplitTime::high32
Eigen::Matrix< unsigned int, Eigen::Dynamic, Eigen::Dynamic > high32
Matrix containing file data representing the high 32 bits.
Definition: IO.h:203
PointMatcherIO::GenericInputHeader::GenericInputHeader
GenericInputHeader(const std::string name)
Constructor.
Definition: IO.h:95
PointMatcherIO::PLYProperty::pos
unsigned pos
index of the property in element
Definition: IO.h:273
PointMatcherIO::PLYProperty::is_list
bool is_list
member is true of property is a list
Definition: IO.h:274
PointMatcherIO::PLYElement::PLYElement
PLYElement(const std::string &name, const unsigned num, const unsigned offset)
PLY Element constructor.
Definition: IO.h:323
PointMatcherIO::loadVTK
static DataPoints loadVTK(const std::string &fileName)
Load point cloud from a file as VTK.
Definition: pointmatcher/IO.cpp:911
PointMatcherIO::Labels
PointMatcher< T >::DataPoints::Labels Labels
alias
Definition: IO.h:52
PointMatcherIO::PLYElement::name
std::string name
name identifying the PLY element
Definition: IO.h:305
PointMatcherIO::PCDheader::height
unsigned int height
height of sensor matrix
Definition: IO.h:393
PointMatcherIO::LabelGenerator::getLabels
Labels getLabels() const
Return the vector of labels used to build a DataPoints.
Definition: pointmatcher/IO.cpp:457
PointMatcherIO::UNSTRUCTURED_GRID
@ UNSTRUCTURED_GRID
Definition: IO.h:194
PointMatcherIO::FEATURE
@ FEATURE
Definition: IO.h:66
PointMatcherIO::PCDheader::version
std::string version
Version of the PCD file used.
Definition: IO.h:390
PointMatcherIO::GenericInputHeader::name
std::string name
name found in the file
Definition: IO.h:89
PointMatcher::DataPoints::Labels
A vector of Label.
Definition: PointMatcher.h:229
PointMatcherIO::PCDheader
All information contained in the header of a PCD file.
Definition: IO.h:388
PointMatcherIO::DESCRIPTOR
@ DESCRIPTOR
Definition: IO.h:67
PointMatcherIO::FileInfoVector::getTransform
TransformationParameters getTransform(const PointMatcherSupport::CsvElements &data, const std::string &prefix, unsigned dim, unsigned line)
Return the transformation named prefix from data.
Definition: pointmatcher/IO.cpp:334
PointMatcherIO::PCDproperty::pmType
PMPropTypes pmType
type of information in PointMatcher
Definition: IO.h:372
PointMatcherIO::PCDproperty::type
char type
Type: I: signed, U: unsigned, F: float.
Definition: IO.h:368
PointMatcherSupport::CsvElements
std::map< std::string, std::vector< std::string > > CsvElements
Data from a CSV file.
Definition: PointMatcher.h:125
PointMatcherIO::FileInfo::groundTruthTransformation
TransformationParameters groundTruthTransformation
matrix of the ground-truth transform
Definition: IO.h:238
PointMatcherIO::SupportedLabel::externalName
std::string externalName
name used in external format
Definition: IO.h:76
PointMatcherIO::FileInfo::readingFileName
std::string readingFileName
file name of the reading point cloud
Definition: IO.h:234
PointMatcherIO::PLYElement::num
unsigned num
number of occurences of the element
Definition: IO.h:306
PointMatcherIO::PCDheader::properties
std::vector< PCDproperty > properties
vector of properties
Definition: IO.h:391
PointMatcherIO::SplitTime
Storage for time loaded separatly.
Definition: IO.h:198
PointMatcherIO::FileInfo::gravity
Vector3 gravity
gravity vector
Definition: IO.h:239
PointMatcherIO::savePLY
static void savePLY(const DataPoints &data, const std::string &fileName, unsigned precision)
save datapoints to PLY point cloud format
Definition: pointmatcher/IO.cpp:1655
PointMatcherIO::PLYProperty
Interface for PLY property.
Definition: IO.h:267
PointMatcherIO::PLYProperty::operator==
bool operator==(const PLYProperty &other) const
list prop ctor
Definition: pointmatcher/IO.cpp:1841
PointMatcherIO::SupportedLabel::SupportedLabel
SupportedLabel(const std::string &internalName, const std::string &externalName, const PMPropTypes &type)
Constructor.
Definition: pointmatcher/IO.cpp:418
PointMatcherIO::CsvDescriptor::span
unsigned span
number of columns spanned by descriptor
Definition: IO.h:260
PointMatcherIO::FileInfo::referenceFileName
std::string referenceFileName
file name of the reference point cloud
Definition: IO.h:235
PointMatcherIO::SplitTime::SplitTime
SplitTime()
Constructor.
Definition: IO.h:208
PointMatcherIO::PCDheader::width
unsigned int width
width of sensor matrix
Definition: IO.h:392
PointMatcherIO::PLYElement
Interface for all PLY elements.
Definition: IO.h:302
PointMatcher::DataPoints
A point cloud.
Definition: PointMatcher.h:207
PointMatcherIO::FileInfoVector::FileInfoVector
FileInfoVector()
Definition: pointmatcher/IO.cpp:180
PointMatcherIO::PLYElementF::VERTEX
@ VERTEX
Definition: IO.h:353
PointMatcherIO::PLYProperty::type
std::string type
type of PLY property
Definition: IO.h:271
PointMatcherIO::SupportedVTKDataTypes
SupportedVTKDataTypes
Enumeration of legacy VTK data types that can be parsed.
Definition: IO.h:191
PointMatcherIO::TIME
@ TIME
Definition: IO.h:68
testing::internal::string
::std::string string
Definition: gtest.h:1979
PointMatcherIO::PLYProperty::pmRowID
int pmRowID
row id used in a DataPoints
Definition: IO.h:278
PointMatcherIO::FileInfoVector::findTransform
bool findTransform(const PointMatcherSupport::CsvElements &data, const std::string &prefix, unsigned dim)
Return whether there is a valid transformation named prefix in data.
Definition: pointmatcher/IO.cpp:317
PointMatcherIO::SupportedLabel::type
PMPropTypes type
type of information in PointMatcher
Definition: IO.h:77
PointMatcherIO::SplitTime::isHigh32Found
bool isHigh32Found
was the high 32bits found in the file
Definition: IO.h:200
PointMatcherIO::CsvDescriptor::start_col
unsigned start_col
column number at which descriptor starts
Definition: IO.h:259
PointMatcherIO::PCDproperty::PCDproperty
PCDproperty()
Empty constructor.
Definition: IO.h:376
PointMatcherIO::PCDproperty::field
std::string field
Name of the property.
Definition: IO.h:366
PointMatcher::Int64Matrix
Eigen::Matrix< std::int64_t, Eigen::Dynamic, Eigen::Dynamic > Int64Matrix
A dense signed 64-bits matrix.
Definition: PointMatcher.h:173
PointMatcherIO::PLYProperty::PLYProperty
PLYProperty(const std::string &type, const std::string &name, const unsigned pos)
@(brief) Regular PLY property constructor
Definition: pointmatcher/IO.cpp:1731
PointMatcherIO::loadCSV
static DataPoints loadCSV(const std::string &fileName)
Associate an external name to a DataPoints type of information.
Definition: pointmatcher/IO.cpp:408
PointMatcherIO::Vector
PointMatcher< T >::Vector Vector
alias
Definition: IO.h:45
PointMatcherIO::loadPLY
static DataPoints loadPLY(const std::string &fileName)
Load polygon file format (ply) file.
Definition: pointmatcher/IO.cpp:1289
PointMatcherIO::PLYProperty::name
std::string name
name of PLY property
Definition: IO.h:270
PointMatcherIO::Parameters
PointMatcher< T >::Matrix Parameters
alias
Definition: IO.h:50
PointMatcherIO::SupportedLabels
std::vector< SupportedLabel > SupportedLabels
Vector of supported labels in PointMatcher and their external names.
Definition: IO.h:84
PointMatcherIO::it_PLYProp
PLYProperties::iterator it_PLYProp
Iterator for a vector of PLY properties.
Definition: IO.h:299
PointMatcherIO::SupportedLabel::internalName
std::string internalName
name used in PointMatcher
Definition: IO.h:75
PointMatcherIO::FileInfo::configFileName
std::string configFileName
file name of the yaml configuration
Definition: IO.h:236
PointMatcherIO::GenericInputHeader::init
void init(std::string name)
Definition: IO.h:106
PointMatcherIO::PLYElementF::UNSUPPORTED
@ UNSUPPORTED
Definition: IO.h:354
PointMatcherIO::PMPropTypes
PMPropTypes
Type of information in a DataPoints. Each type is stored in its own dense matrix.
Definition: IO.h:64
icp.data
data
Definition: icp.py:50
PointMatcherIO::PLYElement::operator==
bool operator==(const PLYElement &other) const
comparison operator for elements
Definition: pointmatcher/IO.cpp:1834
PointMatcher::Matrix
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > Matrix
A dense matrix over ScalarType.
Definition: PointMatcher.h:169
PointMatcherIO::FileInfoVector
A vector of file info, to be used in batch processing.
Definition: IO.h:245
PointMatcherIO::FileInfoVector::localToGlobalFileName
std::string localToGlobalFileName(const std::string &path, const std::string &fileName)
Join parentPath and fileName and return the result as a global path.
Definition: pointmatcher/IO.cpp:299
PointMatcherIO::PLYElement::properties
PLYProperties properties
all properties found in the header
Definition: IO.h:309
PointMatcherIO::Matrix
PointMatcher< T >::Matrix Matrix
alias
Definition: IO.h:46
PointMatcherIO::SupportedLabel
Structure containing all information required to map external information to PointMatcher internal re...
Definition: IO.h:73
PointMatcherIO::LabelGenerator::add
void add(const std::string internalName)
add a name to the vector of labels. If already there, will increament the dimension.
Definition: pointmatcher/IO.cpp:428
PointMatcherIO::saveCSV
static void saveCSV(const DataPoints &data, const std::string &fileName, unsigned precision)
Save point cloud to a file as CSV.
Definition: pointmatcher/IO.cpp:836
PointMatcherIO::PLYElement::nbDescriptors
unsigned nbDescriptors
number of valid descriptors found in the header
Definition: IO.h:311
dataPath
std::string dataPath
Definition: utest.cpp:43
PointMatcherIO::PLYProperties
std::vector< PLYProperty > PLYProperties
Vector of properties specific to PLY files.
Definition: IO.h:296
PointMatcherIO::getColLabel
static std::string getColLabel(const Label &label, const int row)
convert a descriptor label to an appropriate sub-label
Definition: pointmatcher/IO.cpp:469
PointMatcher::Vector
Eigen::Matrix< T, Eigen::Dynamic, 1 > Vector
A vector over ScalarType.
Definition: PointMatcher.h:161
PointMatcherIO::GenericInputHeader::matrixType
PMPropTypes matrixType
in which matrix the information will be loaded
Definition: IO.h:91
PointMatcherIO::POLYDATA
@ POLYDATA
Definition: IO.h:193
PointMatcherIO::TransformationParameters
PointMatcher< T >::TransformationParameters TransformationParameters
alias
Definition: IO.h:49
PointMatcherIO::PCDheader::PCDheader
PCDheader()
Definition: IO.h:398
PointMatcherIO::PCDheader::viewPoint
Eigen::Matrix< T, 7, 1 > viewPoint
not used
Definition: IO.h:394
PointMatcherIO::Int64Matrix
PointMatcher< T >::Int64Matrix Int64Matrix
alias
Definition: IO.h:47
PointMatcherIO::getSupportedExternalLabels
static const SupportedLabels & getSupportedExternalLabels()
Definition: IO.h:117
PointMatcherIO::CsvDescriptor
A structure to hold information about descriptors contained in a CSV file.
Definition: IO.h:257
PointMatcherIO::Label
PointMatcher< T >::DataPoints::Label Label
alias
Definition: IO.h:51
PointMatcherIO::PLYElement::total_props
unsigned total_props
total number of properties in PLY element
Definition: IO.h:307
PointMatcherIO::FileInfo::initialTransformation
TransformationParameters initialTransformation
matrix of initial estimate transform
Definition: IO.h:237
PointMatcherIO::FileInfo
Information to exploit a reading from a file using this library. Fields might be left blank if unused...
Definition: IO.h:230
icp_advance_api.dim
dim
Definition: icp_advance_api.py:152
PointMatcherIO::SplitTime::isLow32Found
bool isLow32Found
Definition: IO.h:201
PointMatcherIO::savePCD
static void savePCD(const DataPoints &data, const std::string &fileName, unsigned precision)
save datapoints to PCD point cloud format
Definition: pointmatcher/IO.cpp:2260
PointMatcherIO::SplitTime::low32
Eigen::Matrix< unsigned int, Eigen::Dynamic, Eigen::Dynamic > low32
Matrix containing file data representing the low 32 bits.
Definition: IO.h:205
PointMatcherIO::PLYElement::nbFeatures
unsigned nbFeatures
number of valid features found in the header
Definition: IO.h:310
PointMatcherIO::PCDproperty::pmRowID
int pmRowID
row id used in a DataPoints
Definition: IO.h:373
PointMatcherIO::PLYElementF::createElement
static PLYElement * createElement(const std::string &elem_name, const int elem_num, const unsigned offset)
factory function, build element defined by name with elem_num elements
Definition: pointmatcher/IO.cpp:1815
PointMatcherIO::saveVTK
static void saveVTK(const DataPoints &data, const std::string &fileName, bool binary=false, unsigned precision=7)
Save point cloud to a file as VTK.
Definition: pointmatcher/IO.cpp:1262
PointMatcherIO::LabelGenerator::labels
Labels labels
vector of labels used to cumulat information
Definition: IO.h:164
PointMatcherIO::PLYElementF
Factory for PLY elements.
Definition: IO.h:349
PointMatcherIO::PLYVertex::PLYVertex
PLYVertex(const unsigned num, const unsigned offset)
Constructor.
Definition: IO.h:344
PointMatcherIO::PLYElementF::getElementType
static ElementTypes getElementType(const std::string &elem_name)
Definition: pointmatcher/IO.cpp:1792
PointMatcherIO::GenericInputHeader::matrixRowId
unsigned int matrixRowId
on which row the information will be loaded
Definition: IO.h:90
PointMatcherIO::SublabelAssociationMap
std::map< std::string, LabelAssociationPair > SublabelAssociationMap
Definition: IO.h:59
PointMatcherIO::PCDproperty
Information for a PCD property.
Definition: IO.h:364
PointMatcherIO::PLYElementF::ElementTypes
ElementTypes
Definition: IO.h:351
PointMatcher.h
public interface
PointMatcherIO::PLYElementF::elementSupported
bool elementSupported(const std::string &elem_name)
returns true if element named elem_name is supported by this parser
Definition: pointmatcher/IO.cpp:1808
PointMatcherIO::PCDproperty::count
unsigned int count
number of dimension
Definition: IO.h:369
PointMatcherIO::FileInfo::FileInfo
FileInfo(const std::string &readingPath="", const std::string &referencePath="", const std::string &configFileName="", const TransformationParameters &initialTransformation=TransformationParameters(), const TransformationParameters &groundTruthTransformation=TransformationParameters(), const Vector &gravity=Vector3::Zero())
Constructor, leave fields blank if unused.
Definition: pointmatcher/IO.cpp:166
PointMatcherIO::PLYElement::offset
unsigned offset
line at which data starts
Definition: IO.h:308
PointMatcherIO::PCDheader::dataType
std::string dataType
ascii or binary
Definition: IO.h:396
PointMatcherIO::FileInfo::Vector3
Eigen::Matrix< T, 3, 1 > Vector3
alias
Definition: IO.h:232
PointMatcherIO::plyPropTypeValid
static bool plyPropTypeValid(const std::string &type)
Check that property defined by type is a valid PLY type note: type must be lowercase.
Definition: pointmatcher/IO.cpp:1826
PointMatcherIO::DataPoints
PointMatcher< T >::DataPoints DataPoints
alias
Definition: IO.h:48
PointMatcherIO::GenericInputHeader::GenericInputHeader
GenericInputHeader()
Definition: IO.h:100
PointMatcherIO::loadPCD
static DataPoints loadPCD(const std::string &fileName)
PointMatcher::TransformationParameters
Matrix TransformationParameters
A matrix holding the parameters a transformation.
Definition: PointMatcher.h:182
PointMatcherIO::PLYProperty::pmType
PMPropTypes pmType
type of information in PointMatcher
Definition: IO.h:277
PointMatcher::DataPoints::Label
The name for a certain number of dim.
Definition: PointMatcher.h:221
PointMatcherIO::LabelGenerator
Generate a vector of Labels by checking for collision is the same name is reused.
Definition: IO.h:162


libpointmatcher
Author(s):
autogenerated on Mon Jul 1 2024 02:22:43