Skip to end of metadata
Go to start of metadata

points-calc nearest-(min/max) and percentile operations search within a given radius around each input point. This can take a lot of time for large amount of input data.

One way to speed things up is to, instead of finding the nearest min to each point in a given radius, find the minimum for the 27 voxels in the neighbourhood of the voxel containing the point. That computed value is assigned to each point in that voxel.

This optimization is used when points-calc nearest-(min/max) or points-calc percentile is given --fast command line argument. For example

> points-calc nearest-min --full --fast --fields x,y,scalar --radius 1
> points-calc percentile --percentile=0.03 --fast --fields x,y,scalar --radius 1

On large point cloud, like that of rose street (http://perception.acfr.usyd.edu.au/data/samples/riegl/rose.st/rose.st.*.csv.gz ), optimized operations were found to be 20 times faster for extremums and more than 100 time faster for percentiles.

  • No labels

4 Comments

  1. What were the results of the time test?

    1. Aneel Rathore AUTHOR

      On my machine it was:
      extremum normal: 1 min 6 sec
      extremum fast: 4 sec
      percentile fast: 8 sec

      percentile normal on this data was too slow

  2. with --fast --radius=1,

    does that mean it searches neighbouring voxels with a 1m resolution? e.g. points could be up to 2m away in the extreme case...

    1. correct; can be even more than 2m: can be double of the 1m cube longest diagonal