/LidarViewer

Highly interactive application for processing, visualization and analysis of large 3D point cloud data, such as produced by terrestrial or airborne LiDAR scanning

Primary LanguageC++GNU General Public License v2.0GPL-2.0

========================================================================
README for LiDAR Viewer version 2.12
Copyright (c) 2004-2013 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 3.0 build 001 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 3.0, or Vrui's
   installation directory was changed from the default of ~/Vrui-3.0,
   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).