Treetops program output
Treetops program output.

This is a software application that locates treetops within a LiDAR-derived canopy height model (CHM) and delineates crowns. There are several configuration inputs for refining the sensitivity of the algorithm given different stand characteristics.

The algorithm was originally developed by the Hyperspectral-LiDAR Research Group at UVic and Terra Remote Sensing has supported further development including a user-friendly UI, corrections to the algorithm and additional efficiencies.

The program will run quickly on datasets of theoretically unlimited size.


View github.

Void filled DEM
Void-filled DEM

This is a (poorly named!) collection of remote sensing-oriented tools that I have created for LiDAR and hyperspectral research with the Hyperspectral-LiDAR Research Group at UVic (now defunct) and continues to be used by myself and friends in the business.

There are a variety of tools at various stages of polish, including but not limited to:

  • pc2grid produces rasters from point clouds of any size using a fast, disk-backed tree data structure. A variety of algorithms are implemented, including descriptive statistics (including quantiles), canopy closure fraction, arc-chord rugosity, etc. pc2grid uses a static pluggable architecture so new analysis methods can be added easily.
  • convolve applies a convolution to radiometric datasets to mimic other datasets with different spectral characteristics.
  • contrem applies a geometric continuum-removal technique to individual spectra (i.e., per-pixel) and extracts various interesting metrics, such as the depth and symmetry of the normalized spectrum and the normalized spectrum itself.
  • voidfill fills voids in rasters using a technique that approximates the α-shape strategy. Rather than developing a Delaunay mesh and eating away at it, it uses a flood-fill strategy to identify edge-connected regions of null pixels and runs a configurable disk-shaped kernel over the image, filling areas that are uniformly void. A variety of filling methods are included; expansion to use IDW or spline is scheduled.

Master of Science Project: “A Signal-Processing Approach to Terrain Following for Remote-Sensing Remotely Piloted Aerial Systems”

UAV with Camera and LiDAR
UAV with Camera and LiDAR

I recently received my master of science from the Geography Department of the University of Victoria, under the supervision of Drs. Olaf Niemann (Geography) and Yvonne Coady (Computer Science).

Basically, I developed a predictive terrain-following system for UAVs using a forward-oriented laser rangefinder and the Savitzky-Golay filter. It worked… sort of! The system features Raspberry Pi with the flight control software (C++) and a Web interface for uploading and configuring flight plans (NodeJS). I used two LightWare SF30/C lasers. The system was mountain on a DJI Matrice 600.

  • You can see the defense presentation here.
  • The thesis itself is here.

Real-Time Hydrometric Data from Environment Canada

View map.

View Github.

Real-Time Hydro Map

This is a basic map which allows the user to browse and search real-time hydrometric stations in Canada. Stations are deep-linkable (click on the marker), and a line graph shows the water levels from the past several hours.

Stations and readings are stored in a PostGIS database. Readings are loaded when a station is first accessed, or when the last update for a station occurred more than an hour previously. The map is rendered using OpenLayers 3, and the REST service is built using a custom REST framework and the Apache Tomcat servlet container.

To avoid excessive overhead, the number of markers on the map is limited. If you do not see the one you’re interested in, zoom in and it will appear. Or, you can search for it by name.

Peace-Athabasca Delta Flood Modelling

View map.

View Github.

PAD Flooding
PAD Flooding

This map is the culmination of several different projects completed during my time with W-CIRC and Environment Canada.

The map displays modelled flood extents computed from a LiDAR-derived terrain model, using Flood, a C program I developed. For each water elevation, the program calculates flood basin extents and locates potential “spill-points” — locations where two basins are likely to merge if the water level rises further.

Spill-points are an important factor in basin connectivity studies in the Delta, such as those undertaken by Dr. Daniel L. Peters, my supervisor at W-CIRC.

The video below shows progressive flooding of the Egg Lake basin. The Peace River is to the north and Lake Athabasca to the southeast, just out of frame. The video was rendered using GRASS GIS and the output from Flood.





Bicycle Power Application

View project.

Image showing point snapping.
Image showing point snapping.

This was a final-year directed studies in computer science for Drs. Trisalyn Nelson and Yvonne Coady. It used the Victoria School Weather Network and a high-resolution LiDAR-derived DEM, along with GPS tracks, to estimate the power of a bicycle rider. The application is no longer online, but the web log which details research and progress CSC497 Project Log.

Leave a Reply

Your email address will not be published. Required fields are marked *