Developed by a team of students
The PulseWaves format is a new, open, vendor-neutral, LGPL-licensed and LAS-compatible data exchange format that is aimed at storing the entire digitized waveform instead of discrete returns(like the LAS format) in a fully geo-referenced manner. The PulseWaves format consists of two binary files: pulse files(.pls) that describe the emitted laser pulses via a georeferenced origin and target point and waves files(.wvs) that contain the actual samples of the outgoing and returning waveform shapes for the digitized sections of the emitted and received waveforms.
This project aims at developing full waveform LiDAR processing tools based on the PulseWaves data exchange format
- Clone the repository:
git clone https://github.com/BoiseState-AdaptLab/adapt-lidar-tools.git
- After cloning the directory,
- Load the following modules:
module load gsl/gcc/2.4
module load gdal/intel/2.2.2
this should automatically load other modules that are required
- Load the following modules:
- Click for Continuation
Requirements:
- g++ (Must Support C++11)
- GSL 2.4 or newer
- GDAL 2.2.2 or newer
Directions:
- Clone the repository:
git clone https://github.com/BoiseState-AdaptLab/adapt-lidar-tools.git
- Click for Continuation
Installation Continuation: (Only do this after following your appropiate installation instructions)
- Change directory into the adapt-lidar-tools repository.
- Run the install script
./install.sh
to automatically download, update & build the dependencies, and make the executables.- For R2 users, if you had errors during the installation process you most likely have a module loaded that is causing a conflict. We recommend you remove all modules
module purge
and load only the ones required to make the executables.
- For R2 users, if you had errors during the installation process you most likely have a module loaded that is causing a conflict. We recommend you remove all modules
- If the install script ran successfully, you can find the executables in either your choice of directory if you so chose during installation, or the
bin/
folder of theadapt-lidar-tools
directory.
Note: After running the install script to make sure the dependencies are built, you can at any time regenerate the executables by running make geotiff-driver
or make pls-info
. To cleanup and remove all executables and object files , run make clean
.
The waveform samples of the pulses that are reported in the Pulse Records are stored in a separate Waves file that must be in the same directory and have the same base name as the *.pls file, but have the ending *.wvs.
These are the properties the program can analyze currently. For each property of interest, a comma separated list of product numbers specifies the desired output.
- Short flag -a
- Long flag --amplitude
- Short flag -e
- Long flag --elevation
- Short flag -w
- Long flag --width
- Short flag -r
- Long flag --risetime
- Short flag -b
- Long flag --backscatter
Combine the property type flag above with one or more product types below to generate products
Function | Peak Type | Product Number |
---|---|---|
Max | First | 1 |
Last | 7 | |
All | 13 | |
Min | First | 2 |
Last | 8 | |
All | 14 | |
Mean | First | 3 |
Last | 9 | |
All | 15 | |
Std.Dev | First | 4 |
Last | 10 | |
All | 16 | |
Skew | First | 5 |
Last | 11 | |
All | 17 | |
Kurtosis | First | 6 |
Last | 12 | |
All | 18 |
Sorted by Product Number
Function | Peak Type | Product Number |
---|---|---|
Max | First | 1 |
Min | First | 2 |
Mean | First | 3 |
Std.Dev | First | 4 |
Skew | First | 5 |
Kurtosis | First | 6 |
Max | Last | 7 |
Min | Last | 8 |
Mean | Last | 9 |
Std.Dev | Last | 10 |
Skew | Last | 11 |
Kurtosis | Last | 12 |
Max | All | 13 |
Min | All | 14 |
Mean | All | 15 |
Std.Dev | All | 16 |
Skew | All | 17 |
Kurtosis | All | 18 |
//generate max first elevation, min first elevation, mean first elevation
bin/geotiff-driver -f etc/test-file-1.pls -e 1,2,3
//generate std.dev first amplitude, min last amplitude, skew all amplitude
bin/geotiff-driver -f etc/test-file-1.pls -a 4,8,17
//generate max all width, skew last width, min all width
bin/geotiff-driver -f etc/test-file-1.pls -w 13,11,14
//combine the three above commands into a single run for efficiency
bin/geotiff-driver -f etc/test-file-1.pls -w 13,11,14 -a 4,8,17 -e 1,2,3
Estimated amplitude using Gaussian fitting
Height on Z axis(Elevation from mean sea level (MSL))
The backscatter coefficient compares the emitted pulse to the returning pulse within a plane normal to the path of the emitted pulse centered at the location of the peak of the returning pulse.
Leading edge (Time between the activation point and maximum amplitude at the rising edge of each pulse)
Total energy from the estimated wave (summation of all amplitudes from wave triggering location to the wave end). Wave triggering location is found by the location that has amplitude value of max amplitude * 1/e(1).
- Nicholas Chapa
- Floriana Ciaglia
- Brandon Echols
- Jason Egbert
- Spencer Fleming
- Ahmad Hojatimalekshah
- Nayani Ilangakoon
- Ariel Marvasti
- Aaron Orenstein
- Nicholas Prussen
- Ahmad Rezaii
- Ravi Shankar
- Jared White