EPointCloud::LoadPCD

Loads an EPointCloud stored in the PCD (Point Cloud Library) file format.
ASCII and binary formats are compatible.

Namespace: Euresys::Open_eVision::Easy3D

[C++]

void LoadPCD(
   const std::string& path
)

void LoadPCD(
   const std::string& path,
   const EFloatRange& undefinedZValues
)

Parameters

path

The full path of the input file.

undefinedZValues

Optional parameter, discard the points with Z value in the given range.

Remarks

The PCD file format is documented here: http://pointclouds.org/documentation/tutorials/pcd_file_format.html.
When loading PCD files:
- columns where the field COUNT is not set to 1 are ignored
- in ascii files, all numbers are assumed to be written in base 10
- file is assumed to contain at least the floating point fields x, y and z. They mustn't be the first but have to be consecutive. If one of these points is nan, inf or too big to be represented on a float, the line is ignored. These points can be double but are stored internally as float.
- the other columns are loaded as user-custom attributes unless they match the specifications of our particular attributes
- a column representing a color must have as suffix "_C" and be of type uint32 or float, they are bitwise encoded as a combination of uint8 in the form argb (uint32) or _rgb (float). Otherwise it is loaded as an uint32/float column.
- columns representing an E3DPoint must have as suffixes "_x", "_y", "_z", be consecutive and of float/double type. They are stored as float in both cases. Otherwise they are loaded as 3 float/double columns.
- we do not have internal int16 or int8 types so those are converted to int32 types.
The particular attributes we define and the conditions to be parsed as one are:
- E3DAttribute_Color: name must be rgb (in which case alpha is not read and set to 255) or rgba, encoding must correspond to a color.
- E3DAttribute_Normal: names must be (normal_x, normal_y and normal_z) or (nx, ny and nz), encoding must correspond to a point.
- E3DAttribute_Intensity: name must be intensity, intensity must be a numeric type.
- E3DAttribute_Texture: name must be texture (with corresponding suffixes if type is color or point).
- E3DAttribute_Index: name must be index and type uint32 or int32.
- E3DAttribute_Confidence: name must be confidence and type should be float or double (but is converted internally to float).
- E3DAttribute_Distance: name must be distance and type should be float or double (but is converted internally to float).
Use EPointCloud::SavePCD to save to PCD file.

EPointCloud.LoadPCD

Loads an EPointCloud stored in the PCD (Point Cloud Library) file format.
ASCII and binary formats are compatible.

Namespace: Euresys.Open_eVision.Easy3D

[C#]

void LoadPCD(
   string path
)

void LoadPCD(
   string path,
   Euresys.Open_eVision.EFloatRange undefinedZValues
)

Parameters

path

The full path of the input file.

undefinedZValues

Optional parameter, discard the points with Z value in the given range.

Remarks

The PCD file format is documented here: http://pointclouds.org/documentation/tutorials/pcd_file_format.html.
When loading PCD files:
- columns where the field COUNT is not set to 1 are ignored
- in ascii files, all numbers are assumed to be written in base 10
- file is assumed to contain at least the floating point fields x, y and z. They mustn't be the first but have to be consecutive. If one of these points is nan, inf or too big to be represented on a float, the line is ignored. These points can be double but are stored internally as float.
- the other columns are loaded as user-custom attributes unless they match the specifications of our particular attributes
- a column representing a color must have as suffix "_C" and be of type uint32 or float, they are bitwise encoded as a combination of uint8 in the form argb (uint32) or _rgb (float). Otherwise it is loaded as an uint32/float column.
- columns representing an E3DPoint must have as suffixes "_x", "_y", "_z", be consecutive and of float/double type. They are stored as float in both cases. Otherwise they are loaded as 3 float/double columns.
- we do not have internal int16 or int8 types so those are converted to int32 types.
The particular attributes we define and the conditions to be parsed as one are:
- E3DAttribute_Color: name must be rgb (in which case alpha is not read and set to 255) or rgba, encoding must correspond to a color.
- E3DAttribute_Normal: names must be (normal_x, normal_y and normal_z) or (nx, ny and nz), encoding must correspond to a point.
- E3DAttribute_Intensity: name must be intensity, intensity must be a numeric type.
- E3DAttribute_Texture: name must be texture (with corresponding suffixes if type is color or point).
- E3DAttribute_Index: name must be index and type uint32 or int32.
- E3DAttribute_Confidence: name must be confidence and type should be float or double (but is converted internally to float).
- E3DAttribute_Distance: name must be distance and type should be float or double (but is converted internally to float).
Use EPointCloud::SavePCD to save to PCD file.