======================================================================== README for LiDAR Viewer version 2.13 Copyright (c) 2004-2017 Oliver Kreylos ======================================================================== Overview ======== LiDAR Viewer is a highly interactive application for processing, visualization and analysis of large 3D point cloud data, such as produced by terrestrial or airborne LiDAR scanning. LiDAR Viewer is based on the Vrui software development toolkit (see http://idav.ucdavis.edu/~okreylos/ResDev/Vrui), and runs in a variety of environments ranging from laptop or desktop computers over semi-immersive environments such as Geowalls to fully immersive virtual reality environments such as CAVEs. More information about LiDAR Viewer can be found at http://www.keckcaves.org. LiDAR Viewer's development was supported by the University of California, Davis, by the UC Davis W.M. Keck Center for Active Visualization in the Earth Sciences (KeckCAVES, http://www.keckcaves.org), and the W.M. Keck Foundation. Description =========== LiDAR Viewer consists of three main components. LidarPreprocessor takes raw point cloud data from one or more input files in a variety of file formats and converts them to LiDAR Viewer's internal hierarchical representation. LidarIlluminator reads a pre-processed point cloud file and calculates a local best-fitting plane for each point. The normal vectors of these planes are stored in an additional file, and are used by LiDAR Viewer for real-time point-based illumination. LidarViewer is the viewer itself; it reads a pre-processed and optionally illuminated point cloud file and renders arbitrary views of the data at interactive rates. Requirements ============ LiDAR Viewer requires Vrui version 4.2 build 006 or newer. Installation Guide ================== It is recommended to download or move the source packages for Vrui and LiDAR Viewer into a src directory underneath the user's home directory. Otherwise, references to ~/src in the following instructions need to be changed. It is also recommended to skip optional steps 4 and 6 in the following instructions. LiDAR Viewer does not need to be installed in order to be used; installation (to a system directory such as /usr/local) is only recommended if LiDAR Viewer will be used from multiple user accounts. 0. Install Vrui from ~/src/Vrui-<version> (see Vrui README file). 1. Change into ~/src directory and unpack the LiDAR Viewer tarball: > cd ~/src > tar xfz <download path>/LidarViewer-<version>.tar.gz - or - > tar xf <download path>/LidarViewer-<version>.tar 2. Change into LiDAR Viewer base directory: > cd LidarViewer-<version> 3. If the Vrui version installed in step 0 was not 4.2, or Vrui's installation directory was changed from the default of /usr/local, adapt the makefile using a text editor. Change the value of VRUI_MAKEDIR close to the beginning of the file as follows: VRUI_MAKEDIR := <Vrui install dir>/share/make Where <Vrui install dir> is the installation directory chosen in step 0. Use $(HOME) to refer to the user's home directory instead of ~. 4. Optional: Adapt makefile if LiDAR Viewer is to be installed in a different location, for example /usr/local. Set INSTALLDIR to the desired target location. LiDAR Viewer will be then be installed in <INSTALLDIR>/bin, and its configuration file will be installed in <INSTALLDIR>/etc (where <INSTALLDIR> is the value of INSTALLDIR set in the makefile). 5. Build LiDAR Viewer: > make This creates the following executables in ./bin: The LAS file range calculation utility, CalcLasRange; the LiDAR data preprocessor, LidarPreprocessor; the point cloud subtraction filter, LidarSubtractor; the processor to calculate lighting information, LidarIlluminator; the LiDAR data viewer itself, LidarViewer; and a utility to print saved primitives in human-readable form, PrintPrimitiveFile. 6. Optional: Install LiDAR Viewer in the selected target location. This is only necessary if the INSTALLDIR variable in the makefile was changed. By default, LiDAR Viewer can be run from its base directory. To install: > make install - or, if the target location is a system directory - > sudo make install This will copy all executables into <INSTALLDIR>/bin, and the LidarViewer.cfg configuration file into <INSTALLDIR>/etc. 7. Optional: Add directory containing the LiDAR Viewer executables (~/src/LidarViewer-<version>/bin in the default installation, <INSTALLDIR>/bin otherwise) to the user's search path. This allows running LiDAR Viewer from any directory. Using csh or tcsh: > setenv PATH ${PATH}:~/src/LidarViewer-<version>/bin - or - > setenv PATH ${PATH}:<INSTALLDIR>/bin where <INSTALLDIR> is the target location set in the makefile. Using bash: > export PATH=${PATH}:~/src/LidarViewer-<version>/bin - or - > export PATH=${PATH}:<INSTALLDIR>/bin These lines can also be added to the user's .cshrc or .bashrc files to make the additions persist between logins. Running LiDAR Viewer ==================== These instructions assume that LiDAR Viewer was installed in its base directory, (see steps 4 and 6 above). 1. On MacOS X: Start X11. LiDAR Viewer requires a running X server, but, if preferred, it can be started from a MacOS X terminal instead of xterm. 2. See Vrui's HTML documentation on Vrui's basic user interface and how to use LiDAR Viewer. Storing Persistent Configuration Data ===================================== The components of the LiDAR Viewer software have many options that can be configured via their command lines, or via menus or dialogs from inside a component. To allow customization, the LiDAR Viewer components read many of their options from a configuration file at startup. All LiDAR Viewer components will search for this configuration file, LidarViewer.cfg, in an etc directory underneath the installation directory (~/src/LidarViewer-<version>/etc/LidarViewer-<version> in the default installation, INSTALLDIR>/etc/LidarViewer-<version> otherwise).