Application: mm2ply
Overview
mm2ply is a command-line tool that exports the layers of a MOLA metric map (*.mm) file as PLY point cloud files. It converts metric map files into the widely-supported PLY format, making it easy to visualize and process point cloud data in various 3D viewers and processing tools.
Features
Exports all point cloud layers from a metric map file
Selectively exports specific fields in a custom order
Supports both ASCII and binary PLY formats
Preserves all point fields (coordinates, colors, intensities, etc.)
Automatic field name mapping for standard color attributes
Generic field handling for custom point cloud attributes
Usage
mm2ply -i <input.mm> [-o <output_prefix>] [-b] [--export-fields <field1,field2,...>]
Arguments
-i, --input <file.mm>(required): Input metric map file-o, --output <prefix>(optional): Prefix for output PLY files. If not specified, uses the input filename without extension-b, --binary(optional): Export in binary format instead of ASCII (default: ASCII)--export-fields <field1,field2,...>(optional): Comma-separated list of fields to export in the specified order. If not provided, all available fields will be exported. Spaces around commas are allowed
Examples
Export a metric map to ASCII PLY files:
mm2ply -i mymap.mm
Export with a custom output prefix:
mm2ply -i mymap.mm -o processed/map
Export in binary format for smaller file sizes:
mm2ply -i mymap.mm -b
Export only specific fields in a custom order:
mm2ply -i mymap.mm --export-fields "x,y,z,intensity"
Export selected fields in binary format:
mm2ply -i mymap.mm -b --export-fields "x, y, z, color_r, color_g, color_b"
Export only 2D coordinates and intensity:
mm2ply -i mymap.mm --export-fields "x,y,intensity"
Combine with custom output prefix:
mm2ply -i mymap.mm -o results/filtered --export-fields "x,y,z,ring,time"
Output
The tool creates separate PLY files for each point cloud layer in the metric map. Files are named using the pattern:
<prefix>_<layer_name>.ply
For example, if your map contains layers named “raw” and “filtered”, you’ll get:
mymap_raw.plymymap_filtered.ply
Field Selection
When using the --export-fields option:
Fields must be specified as a comma-separated list
Spaces around commas are allowed (e.g.,
"x, y, z"or"x,y,z")Fields will be exported in the exact order specified
All specified fields must exist in the point cloud, or an error will be raised
The tool validates field availability and reports available fields if a requested field is not found
Color fields (
color_r,color_g,color_b) are automatically mapped to PLY standard names (red,green,blue) in the output file, even when using field selection
Supported Point Fields
The tool automatically exports all point attributes, including:
Coordinates: x, y, z (float)
Colors: Automatically maps
color_r/color_rf→red,color_g/color_gf→green,color_b/color_bf→blueCustom float fields: Exported as float properties (e.g., intensity, normals, curvature)
Custom double fields: Exported as double properties (e.g., time, timestamps) (MRPT ≥ 2.15.3)
Custom uint16 fields: Exported as ushort properties (e.g., ring, color channels) (MRPT ≥ 2.15.3)
Custom uint8 fields: Exported as uchar properties (MRPT ≥ 2.15.3)
The specific fields exported depend on the point cloud type in each layer. Use --export-fields to select only the fields you need.
PLY Format Details
The PLY format written by this tool follows the standard specification:
ASCII format: Human-readable text with space-separated values
Binary format: Compact binary encoding (little-endian) for reduced file size
Header: Describes vertex count and property types
Data: One vertex per line (ASCII) or record (binary)
Color field name mapping ensures compatibility with standard PLY viewers and processing tools.