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.
rayrestore <decimated_cloud> <decimation_size> cm <full_cloud>
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
The tool requires unique timestamps for proper restoration. Files with coincident timestamps will produce warnings and unreliable results.
Only works with basic decimation methods from raydecimate:
- Spatial decimation (
cm) - Temporal decimation (
rays)
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
- 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)
- Decimated cloud must fit in RAM
- Full-resolution cloud is processed using chunk loading for memory efficiency
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
Create a reduced dataset for efficient processing:
raydecimate large_scan.ply 5 cm
Apply desired operations to the decimated cloud:
raycolour large_scan_decimated.ply height
Apply changes back to full resolution:
rayrestore large_scan_decimated_coloured.ply 5 cm large_scan.ply
The tool generates a full-resolution ray cloud with the suffix _restored.ply, containing all changes applied to the decimated version.
- 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
The tool reports:
- Size comparison between decimated and full clouds
- Number of coincident timestamps (if any)
- Warnings about timestamp uniqueness issues
- 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
RayRestoresource code atraycloudtools/rayrestore/rayrestore.cpp.