Skip to content

Latest commit

 

History

History
116 lines (80 loc) · 3.32 KB

File metadata and controls

116 lines (80 loc) · 3.32 KB

RayRestore

RayRestore is a tool for applying changes made to decimated ray clouds back to their full-resolution counterparts. This allows efficient processing on reduced datasets while maintaining full-resolution results.

Usage

Spatial Decimation Restore

rayrestore <decimated_cloud> <decimation_size> cm <full_cloud>

Temporal Decimation Restore

rayrestore <decimated_cloud> <ray_interval> rays <full_cloud>
  • <decimated_cloud>: The processed decimated ray cloud
  • <decimation_size>: Original spatial decimation distance in centimeters
  • <ray_interval>: Original temporal decimation interval (every Nth ray)
  • <full_cloud>: The original full-resolution ray cloud

Requirements

Unique Timestamps

The tool requires unique timestamps for proper restoration. Files with coincident timestamps will produce warnings and unreliable results.

Compatible Decimation

Only works with basic decimation methods from raydecimate:

  • Spatial decimation (cm)
  • Temporal decimation (rays)

Supported Operations

Can restore changes from most ray cloud processing tools including:

  • Color modifications from raycolour
  • Transformations from alignment tools
  • Most attribute changes that preserve ray timing

Limitations

Incompatible Tools

  • raysmooth: Geometric changes cannot be properly restored
  • raytranslate: Temporal translations break timestamp matching
  • Advanced decimation methods from raydecimate (e.g., cm/ray, cm/m, cm X points)

Memory Requirements

  • Decimated cloud must fit in RAM
  • Full-resolution cloud is processed using chunk loading for memory efficiency

Examples

Restore color changes from 5cm decimated cloud:

rayrestore forest_decimated_colored.ply 5 cm forest_full.ply

Restore alignment from every-10th-ray decimation:

rayrestore scan_decimated_aligned.ply 10 rays scan_full.ply

Restore feature extraction results:

rayrestore building_decimated_processed.ply 3 cm building_original.ply

Workflow

1. Decimation

Create a reduced dataset for efficient processing:

raydecimate large_scan.ply 5 cm

2. Processing

Apply desired operations to the decimated cloud:

raycolour large_scan_decimated.ply height

3. Restoration

Apply changes back to full resolution:

rayrestore large_scan_decimated_coloured.ply 5 cm large_scan.ply

Output

The tool generates a full-resolution ray cloud with the suffix _restored.ply, containing all changes applied to the decimated version.

Performance Benefits

  • Process large datasets efficiently by working on smaller decimated versions
  • Maintain full-resolution output quality
  • Reduce processing time for computationally intensive operations
  • Minimize memory usage during processing

Quality Assurance

The tool reports:

  • Size comparison between decimated and full clouds
  • Number of coincident timestamps (if any)
  • Warnings about timestamp uniqueness issues

Additional Information

  • Uses time-based matching to identify corresponding rays between decimated and full clouds
  • Chunk-based processing ensures memory efficiency for large full-resolution files
  • For more detailed information on restoration algorithms, refer to the RayRestore source code at raycloudtools/rayrestore/rayrestore.cpp.