Home‎ > ‎Research‎ > ‎Unlisted Software‎ > ‎

Point Cloud Tools

PC-Tools is a point cloud decimation software package that we use internally for decimating point clouds. It was developed originally by James Brasington and a former post-doc of ours Igor Rychkov.  Igor now maintains this as an open-source project with both a 64-bit version of the code for running as a Python script as well as a 32-bit version not on his website but available below:

32-Bit Version Instructions

  1. Copy your *.pts file to the directory where this program is.
  2. Right click on run.bat and 'Edit'.
  3. The 32 bit version can be run by copying your exported *.pts file from Cyclone into a directory with the pcgrid.exe executable and the run.bat file in it. The batch file is formatted as follows:
    pcgrid filename.pts --xres 0.25 --yres 0.25 --nmin 4 --*zmin 0 --*zmean 1 --*stdev 0
    @pause

    • Edit the run.bat file so that:
    • filename.pts should be subsituted with your *.pts file name (extension included)
    • --xres 0.25 should be changed to the grid resolution in the x direction you wish to decimate your data to (e.g. 0.25 is 0.25 m)
    • --yres 0.25 should be changed to the grid resolution in the y direction you wish to decimate your data to (e.g. 0.25 is 0.25 m)
    • --nmin 4 should be changed to the minimum number of points required in a cell in order to calculate statistics (e.g. 4 is 4 points in each grid cell)
    • --*zmin 0 just use the default (this is a switch)
    • --*zmean 1 ust use the default (this is a switch)
    • --*stdev 0 just use the default (this is a switch)

  4. Save the run.bat file.
  5. Press the window key and R simultaneously to bring up a command prompt. At the command prompt use cd to change directories to where your file and the program is located.
  6. Type run.bat at command prompt and hit return and wait patiently.

32-Bit Version Outputs:

The program produces a number of files. Assuming your input file was called filename.pts, the program produces the following:
  • filename - This is a binary version of the raw point cloud data from the PTS file unsorted. As this file is large and unusable unless you dig into the source code, you may wish to just delete this.
  • filename.ini - Reports total number of points in original point cloud and absolute stats for whole point cloud.
  • filename_sorted - This is a binary version of the raw point cloud data from the PTS file that has been sorted into grid cells and sorted by elevation . As this file is large and unusable unless you dig into the source code, you may wish to just delete this.
  • filename_zmax.txt - This is the x,y,z coordinate of the point located in each cell with the highest elevation value. This
    is often a good attempt at a terrain model.
  • filename_zmin.txt - This is the x,y,z coordinate of the point located in each cell with the lowest elevation value. This
    is often a good attempt at bare earth.
  • fielname_zstat.txt Has the x,y coordinates of the center of each cell with data and then the following attributes:
    • zmean - The mean value of eelvation in the cell
    • zmax - The maximum value of elevation in the cell
    • zmin - The minimum value of elevation in the cell
    • range - The range of elevations in the cell
    • stdev - The aboslutle standard deviation of elevations in the cell
    • stdev_detrended - Best fits a plane through point cloud in cell and reports detrended std. dev. (good approx. of roughness)
    • sk - Skew of the elevation data
    • sk-detr - Best fits a plane through point cloud in cell and reports detrended skew
    • ku - Kurtosis of the elevation data
    • ku-detr - Best fits a plane through point cloud in cell and reports detrended kurtosis
    • zmean_detrended - Best fits a plane through point cloud in cell and reports detrended mean elevation
    • n    - Count of number of points in cell (i.e. point density)   
  • filename_underpopulated_zstat.txt - same as filename_zstat.txt, but for the cells with data that did not have at least nmin points in them.


You can read any of the above into ArcGIS an build TIN or Terrain surfaces from them. Note that because both the zstat files have names with a '-' in the header name, they will not read into ArcGIS using 'Add x-y data' until you edit the header so that the '-' become underscores '_'. Silly I know...

This code and software is copyrighted by Igor Rychkov under the GNU General Public License.
Comments