Supported File Formats

The Super4PCS library provides its own IO module, to load and save 3D point clouds, meshes and export computed matrices.

Overview

Input Output
Point-cloud ply, ptx ply
Mesh obj obj
Transformation Matrix txt
Sampled clouds ply

Input/Output files are specified using the following flags:

  • -i file1 file2: two input files,
  • -r filename: output file,
  • -m filename: output matrix,
  • --sampled1 filename: cloud sampled from input 1,
  • --sampled2 filename: cloud sampled from input 2.

When neither -r nor -m are specified, the result is exported to output.obj/.ply.

Parsers specifications

Transformation matrices (2c92b29)

3D matrices are exported as text files, such as:

VERSION =   1
MATRIX  =
 0.952888   0.099464  -0.286551   0.045467
-0.096379   0.995034   0.024886  -0.372831
 0.287603   0.003904   0.957742  -0.447515
 0.000000   0.000000   0.000000   1.000000

These files can be loaded by Polyworks to transform geometry layers.

PTX (84d079e)

Cyclone pointcloud export format, available only to load range maps as point-clouds.

The scanner position and the cloud transformations are ignored, and only the first range map is considered.

PLY

The PoLYgon file format (.ply) is used to load/save point-clouds exclusively. Both ASCII and Binary encoding are supported, but ASCII encoding is in general preferred.

A limited set of property list is supported. Using other formats will not trigger any error, but will prevent the algorithm to find a solution.

In ASCII mode only, both float and double properties are supported (files generated by matlab).

The supported property lists are (any other property type will cause the program to run on wrong data!):

Position only

property float x
property float y
property float z

Position + Normals

property float x
property float y
property float z
property float nx
property float ny
property float nz

Position + Colors (RGB)

property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue

Position + Colors (RGBA)

property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue
property uchar alpha

Position + Normals + Colors (RGB)

property float x
property float y
property float z
property float nx
property float ny
property float nz
property uchar red
property uchar green
property uchar blue

Position + Normals + Colors (RGBA)

property float x
property float y
property float z
property float nx
property float ny
property float nz
property uchar red
property uchar green
property uchar blue
property uchar alpha

OBJ

Wavefront OBJ files are used to load/save meshes. Faces lists are required, and textures are supported (per-vertex color fetched from the texture).