Skip to content

Latest commit

 

History

History
executable file
·
103 lines (72 loc) · 3.95 KB

File metadata and controls

executable file
·
103 lines (72 loc) · 3.95 KB

RayExtract

RayExtract is designed for extracting natural features from point cloud data. It supports a variety of operations including terrain extraction, individual tree identification, forest structure analysis, and canopy reconstruction.

Usage

rayextract <command> <input_file> [options]
  • <command>: The operation to perform (e.g., terrain, trunks, forest, trees, leaves, grid).
  • <input_file>: The path to the input point cloud file (.ply).
  • [options]: Command-specific options to adjust the tool's behavior.
  • --verbose: Extra debug output.

Commands and Options

RayExtract Terrain

rayextract terrain cloud.ply --gradient 1

Extracts the terrain undersurface into a mesh. Consider decimating your point cloud first for better performance.

  • --gradient <value>: Maximum gradient counted as terrain.
  • --verbose: Extra debug output.

RayExtract Trunks

rayextract trunks cloud.ply --exclude_rays

Extracts tree trunk base locations and their radii into a text file.

  • --exclude_rays: Excludes candidates with rays passing through them.
  • --verbose: Extra debug output.

RayExtract Forest

rayextract forest cloud.ply --ground ground_mesh.ply --trunks cloud_trunks.txt --width 0.25 --smooth 15 --drop_ratio 0.1

Extracts tree locations, radii, and heights into a file.

  • --ground <file>: Ground mesh file (assumes flat if not provided).
  • --trunks <file>: Known tree trunks file.
  • --width <value>: Grid cell width.
  • --smooth <value>: Canopy smooth iterations (higher values for rough canopies).
  • --drop_ratio <value>: Percentage drop in canopy height classified as separate trees.
  • --verbose: Extra debug output.

RayExtract Trees

rayextract trees cloud.ply ground_mesh.ply --max_diameter 0.9 --crop_length 1.0 --distance_limit 1 --height_min 2 --girth_height_ratio 0.08 --global_taper 0.024 --global_taper_factor 0.3 --gravity_factor 0.3 --branch_segmentation --grid_width

Estimates trees, and saves the results to a text file, a mesh file, and a segmented point cloud (colored per tree).

  • --max_diameter <value>: Maximum trunk diameter for segmenting trees.
  • --crop_length <value>: Crops small branches to this distance from the end.
  • --distance_limit <value>: Maximum distance between neighbor points in a tree.
  • --height_min <value>: Minimum height counted as a tree.
  • --girth_height_ratio <value>: The height up the tree's trunk to estimate girth.
  • --global_taper <value>: Forces a taper value (diameter per length) for trees under this factor of maximum tree height. Use 0 to estimate from data.
  • --global_taper_factor <value>: 1 estimates the same taper for the whole scan, 0 for per-tree tapering.
  • --gravity_factor <value>: Larger values preference vertical trees.
  • --branch_segmentation: Output (_segmented.ply) is per branch segment.
  • --grid_width <value>: Assumes the cloud has been gridded with the given width. Specify the width to crop results accordingly.
  • --verbose: Extra debug output.

RayExtract Leaves

rayextract leaves cloud.ply trees.txt --leaf_mesh mesh.ply --leaf_area 0.002 --leaf_droop 0.1 --stalks --verbose

Reconstructs leaf locations from specified tree structures.

  • --leaf_mesh <file>: Mesh for each leaf, centered at (0,0,0) along the y-axis.
  • --leaf_area <value>: Area for each leaf.
  • --leaf_droop <value>: Droop per square horizontal distance.
  • --stalks: Include stalks to the closest branch.
  • --verbose: Extra debug output.

RayExtract Grid

rayextract grid cloud.ply --voxel_size --verbose

Analyzes point cloud data using a grid approach.

  • --voxel_size <value>: Specifies the size of each voxel in the grid.
  • --verbose: Extra debug output.

Additional Information

  • For more detailed information on command usage and additional options, refer to the RayExtract source code at raycloudtools/rayextract/rayextract.cpp. .