ice-road-copters
pipeline for post-processing point clouds to resolve change in repeat collections
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.1%) to scientific vocabulary
Keywords
Repository
pipeline for post-processing point clouds to resolve change in repeat collections
Basic Info
Statistics
- Stars: 11
- Watchers: 4
- Forks: 3
- Open Issues: 7
- Releases: 2
Topics
Metadata Files
README.md
ice-road-copters :helicopter:

Overview
The ice-road-copter suite is designed to post-process point cloud data and enable differencing to resolve change in repeat collections. Our focus is snow depth maps. DEM differencing for snow depths requires detailed knowledge of Coordinate Reference Systems (CRS) for the reference product (snow-free) and other products (snow-on). Alignment issues often persist even when both products are tied to the same CRS, and this needs to be addressed with a co-registration process. The software relies on the Point Data Abstraction Library (PDAL; www.pdal.io) for point cloud filtering and segmentation. NASA's Ames Stereo Pipeline (https://github.com/NeoGeographyToolkit/StereoPipeline) performs the co-registration component of the workflow. The software is designed to use plowed roadways through the survey domain as co-registration objects, as the snow-covered domain often lacks stable features.
Setting things up! :hammer:
Downloading ASP precompiled binaries
- Download latest stable build (Linux or OSx): https://github.com/NeoGeographyToolkit/StereoPipeline/releases and unzip the folder into the ice-road-copters directory. There are different builds for each OS, but you may have to dig a little to find the OSx build, it gets updated less.
- Rename this folder as
ASPand remove the zipped file
Setting up Conda environment
$ conda env create -f iceroad_env.yaml
$ conda activate iceroad
Running the code
from the ice-road-copters directory for example one can run:
$ python scripts/ice-road-pipeline.py <path-to-directory-of-laz-files> -e <path-to-user-supplied-reference-dem> -a <path-to-ASP-directory> -s <path-to-road-shapefile-to-clip-to> -b 3
NOTE: this code assumes you are using a reference DEM (and other airborne lidar data) referenced to the WGS84 ellipsoid (EPSG:4326). If your reference DEM Coordinate Reference System (CRS) is orthometric (Geoid) you must set the -g True flag. This prompts extraction of the CRS metadata and a subsequent coordinate transform. Users must supply a shape file clipped to the roadway through the domain. During co-registration, this code assumes a buffered road area of 3 meters (1.5m on either side of the centerline of the road). This buffered road area can be modifed with -b flag.
Flags
``` -e user_dem Path to user specifed DEM [one will be downloaded from py3dep if you don't supply one]
-d debug turns on debugging logging [Options: True or False]
-a asp_dir Directory with ASP binary files [Can be either ASP or ASP/bin directory]
-s shp_fp Shapefile to align with [road shapefile to use to tie reference DEM to your point cloud]
-b buffer_meters Total width for the transform area [Default: 3]
-g geoid Is the reference DEM CRS orthometric (geoid height)? Will be auto set to True if you don't supply a DEM [Default: False]
```
Optional: If estimating grain size, install R and the following packages
See ice-road-pipeline.py for the additional optional flags. This currently requires a target with a known reflectance in order to calibrate lidar reflectance. It assumes wavelength = 1064 nm.
``` library(raster) library(lidR) library(rlas) library(dplyr) library(readr) library(terra) library(sf) library(data.table)
```
Additional information :books:
The goal of this program is to utilize existing USGS 3DEP 1m topography data (via py3dep) and Ames Stereo Pipeline (ASP) software to accurately align snow-on airborne lidar point clouds to real world coordinates without the use of ground control points. We also provide an option for a user specified DEM (snow-off).
For example, we used prior knowledge that HWY-21 running through our study site is kept snow-free for a majority of the year, thus making excellent virtual ground control points for post-processing in ASP (using pc_align).

After running pdal processing and ASP post-processing, we are able to generate accurate snow depth maps with road differences on the cm scale.

Owner
- Name: Cryosphere Geophysics And Remote Sensing
- Login: cryogars
- Kind: organization
- Location: Boise, ID
- Website: https://sites.google.com/boisestate.edu/cryogarswebsite/
- Repositories: 1
- Profile: https://github.com/cryogars
Snow and ice research that leverages geophysics and remote sensing tools
Citation (CITATION.cff)
cff-version: 1.0.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Hoppinen"
given-names: "Zachary"
orcid: "https://orcid.org/0000-0003-0916-7774"
- family-names: "Wilder"
given-names: "Brent"
title: "ice-road-copters"
version: 1.0.0
doi: 10.5281/zenodo.8184592
date-released: 2023-05-01
url: "https://github.com/SnowEx/ice-road-copters"
GitHub Events
Total
- Create event: 5
- Issues event: 3
- Watch event: 2
- Delete event: 1
- Member event: 4
- Issue comment event: 48
- Push event: 26
- Pull request review event: 33
- Pull request review comment event: 33
- Pull request event: 3
- Fork event: 1
Last Year
- Create event: 5
- Issues event: 3
- Watch event: 2
- Delete event: 1
- Member event: 4
- Issue comment event: 48
- Push event: 26
- Pull request review event: 33
- Pull request review comment event: 33
- Pull request event: 3
- Fork event: 1
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 3
- Total pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: about 7 hours
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.5
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 3
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: about 7 hours
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.5
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- brentwilder (2)
- naniciafone (1)
Pull Request Authors
- brentwilder (6)
- jomey (2)
- Surfix (1)