FAST-GC
<p align="center">
<img src="docs/images/fastgc_banner.png" width="100%" alt="FAST-GC">{=html}
</p>
Fully Adaptive Self-Tuning Ground Classification (FAST-GC)
Sensor-adaptive ground classification, spatial LiDAR sampling, and LiDAR-derived geospatial products
FAST-GC is a Python-first framework for automated LiDAR ground classification and downstream geospatial analysis. It supports airborne laser scanning (ALS), UAV laser scanning (ULS), and terrestrial laser scanning (TLS), and integrates ground classification with digital terrain and surface modeling, height normalization, canopy modeling, terrain geomorphometry, continuous-domain hydrology, forest structure, individual-tree workflows, raster change analysis, and FAST-GIS plot sampling and clipping.
The core FAST-GC classifier adapts to acquisition geometry, point-cloud characteristics, and terrain conditions while minimizing scene-specific manual tuning. FAST-GC 0.2.1 also integrates optimized native execution for selected computational stages. Supported precompiled distributions use this automatically; normal users do not need to select or configure a computational backend.
Scientific Reference
The FAST-GC ground-classification methodology is documented in the public preprint:
Fareed, N.; Numata, I.; Silva, C. A.; Prichard, S. J. (2026).
FAST-GC: A Fully Adaptive Self-Tuning Ground Classification Algorithm
for Multi-Platform LiDAR Sensors.
Preprints.org, Version 1.
https://www.preprints.org/manuscript/202609.1631
The manuscript is publicly available as a preprint and has been submitted for peer-reviewed publication. The citation will be updated when the final peer-reviewed article becomes available.
Key Capabilities
- Self-tuning ground classification across ALS, ULS, and TLS point clouds
- LAS/LAZ single-file, folder, plot-collection, and large-area tiled processing
- Buffered tiling, parallel processing, seam-aware merging, and downstream derivation
- FAST-GIS spatial sampling, plot import, clipping, buffering, and managed plot collections
- Digital elevation models (DEM) and digital surface models (DSM)
- Height-normalized LiDAR point clouds
- Multiple canopy-height-model (CHM) algorithms
- Terrain morphology, curvature, ruggedness, relief, and multiscale topographic metrics
- Continuous-domain D8/MFD hydrology, contributing area, flow length, streams, watersheds, and terrain-hydrology indices
- Raster and vector hydrology outputs
- Forest structural metrics
- Individual-tree detection and crown workflows
- Individual-tree point-cloud extraction
- Multi-temporal raster change analysis
- CRS-aware geospatial processing and reproducible manifests
Supported LiDAR Platforms
Sensor mode Platform
ALS Airborne Laser Scanning
ULS UAV / drone Laser Scanning
TLS Terrestrial Laser Scanning
The acquisition platform is supplied through --sensor_mode. FAST-GC
routes the corresponding sensor-specific ground-classification workflow
while downstream product interfaces remain consistent.
Installation
FAST-GC 0.2.1 supports Python 3.12-3.14.
PyPI --- Recommended
pip install fastgc
Verify:
fastgc --version
fastgc --help
Supported precompiled wheels include the optimized execution components required for normal operation. No separate computational-backend configuration is required.
GitHub Source
git clone https://github.com/nadeemfareed/FAST-GC.git
cd FAST-GC
pip install .
A source build may require a Rust toolchain because selected computational kernels use native acceleration.
Conda Development Environment
git clone https://github.com/nadeemfareed/FAST-GC.git
cd FAST-GC
conda env create -f environment.yml
conda activate fastgc
pip install -e .
See INSTALLATION.md for the complete development and environment
policy.
Google Colab
!pip install fastgc
from google.colab import drive
drive.mount("/content/drive")
!fastgc \
--in_path "/content/drive/MyDrive/input.laz" \
--out_dir "/content/drive/MyDrive/FASTGC_output" \
--sensor_mode ALS \
--products FAST_GC
Quick Start
Ground classification:
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC
Ground classification plus terrain products:
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM FAST_TERRAIN \
--terrain_products slope_degrees aspect hillshade multiscale_tpi
The default product is FAST_GC. Input can be a LAS/LAZ file, folder,
managed FAST-GIS plot collection, or existing processed-product root
depending on the selected workflow.
FAST-GIS --- Spatial Sampling and Plot Workflows
FAST-GIS is the spatial preparation layer integrated with FAST-GC. It is
not an additional --products family. Instead, it prepares
reproducible plot collections from LiDAR surveys and passes those
collections into the normal FAST-GC processing system.
FAST-GIS supports:
- random sampling over observed LiDAR coverage
- continuous optimized-coverage sampling
- rough-height-stratified circular sampling using an existing DSM
- imported plot polygons
- survey-aware multi-file clipping
- core-plus-buffer point extraction
- CRS-aware geometry handling
- circle, hexagon, square, rectangle, and ellipse plot geometries
- continuous-layout width, height, overlap, rotation, and phase controls
- reproducible sampling and workspace manifests
- direct downstream processing through
--workflow plots-run
FAST-GIS collections preserve the authoritative core geometry separately from the processing buffer. Buffered points can therefore support neighborhood-sensitive processing while final raster products can be masked back to the intended core plot footprint.
FAST-GIS Sampling Concepts
Sampling mode Purpose
random Reproducible random plots over
observed LiDAR coverage
continuous Optimized continuous plot coverage
with configurable geometry,
overlap, and rotation
rough_height_stratified Circular plots stratified using
rough DSM-relative height classes
imported Clip user-supplied polygon plots
from vector/CSV definitions
Supported plot shapes are circle, hexagon, square, rectangle,
and ellipse. Continuous sampling additionally supports explicit width,
height, overlap, rotation, and phase-search controls.
The integrated FAST-GIS command implementation is exposed through the FAST-GIS entry path associated with the installed FAST-GC package. Use the installed command help for the authoritative syntax of the current build.
FAST-GIS → FAST-GC Processing
A FAST-GIS collection contains plot point clouds plus
plots_manifest.json and plot metadata. Process the managed collection
with:
fastgc \
--in_path path/to/ALS_plots \
--workflow plots-run \
--products FAST_GC FAST_DEM FAST_NORMALIZED FAST_CHM FAST_TERRAIN
For managed FAST-GIS collections, the sensor mode can be read from
plots_manifest.json. External independent plot LAS/LAZ collections can
also use plots-run, but should provide --sensor_mode.
Conceptually:
LiDAR survey / survey tiles
|
v
FAST-GIS
|
+--> survey catalog / CRS validation
+--> sampling or imported plot geometry
+--> core + processing buffer
+--> clipped plot point clouds
+--> plots_manifest.json + plot metadata
|
v
fastgc --workflow plots-run
|
v
normal FAST-GC products
FAST-GC Product Families
FAST-GC exposes ten integrated product families through --products.
Products can be requested individually or combined according to their
dependencies.
Product Purpose
FAST_GC Sensor-adaptive ground / non-ground
classification
FAST_DEM Bare-earth digital elevation model
FAST_NORMALIZED Terrain-normalized LiDAR point
cloud
FAST_DSM Upper-surface digital surface model
FAST_CHM Canopy height modeling
FAST_TERRAIN Terrain geomorphometry and
continuous-domain hydrology
FAST_STRUCTURE Forest structural metrics
FAST_ITD Individual-tree detection / crown
workflows
FAST_TREECLOUDS Individual-tree point-cloud
extraction
FAST_CHANGE Multi-temporal raster change
analysis
FAST_GC --- Ground Classification
FAST_GC is the core product: multi-stage, sensor-adaptive
ground/non-ground classification for ALS, ULS, and TLS point clouds.
Classified ground points provide the terrain reference used by
downstream products.
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--workflow run \
--products FAST_GC
FAST_DEM --- Digital Elevation Model
FAST_DEM generates a bare-earth terrain raster from classified ground
points. Supported rasterization methods are min, max, mean,
nearest, and idw; resolution is controlled with --grid_res.
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM \
--grid_res 0.5 \
--dem_method nearest
FAST_NORMALIZED --- Height-Normalized Point Cloud
FAST_NORMALIZED references point elevations to the local terrain
surface, producing above-ground heights for canopy, structure, and
tree-level analysis.
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM FAST_NORMALIZED
FAST_DSM --- Digital Surface Model
FAST_DSM represents the upper LiDAR surface and can be produced
directly from the point cloud when ground classification is not
otherwise required. Methods are min, max, mean, nearest, idw,
and spikefree.
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_DSM \
--grid_res 0.5 \
--dsm_method max
FAST_CHM --- Canopy Height Models
FAST_CHM generates canopy-height surfaces from terrain-referenced
LiDAR.
Method Processing concept
p2r Point-to-raster canopy surface
p99 Percentile-based upper-canopy surface
tin Triangulated canopy surface
pitfree Pit-free canopy surface
adaptive_pitfree Adaptive pit-free processing
csf_chm Cloth-simulation-based CHM
spikefree Spike-resistant surface processing
percentile Percentile selector workflow
percentile_top Upper-canopy percentile selection
percentile_band Selected canopy-height-band workflow
Multiple CHMs can be generated in one run:
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM FAST_NORMALIZED FAST_CHM \
--chm_methods p2r p99 pitfree adaptive_pitfree
FAST_TERRAIN --- Terrain and Hydrology
FAST_TERRAIN is the integrated terrain-analysis family. It operates
from FAST_DEM and contains both local terrain geomorphometry and
continuous-domain hydrological analysis.
The release separates two concepts:
- Established local/core terrain products --- selected
individually or with
--terrain_products all. - Continuous-domain hydrology products --- selected explicitly and derived from an authoritative continuous DEM.
This distinction is important. --terrain_products all intentionally
refers to the established local/core terrain set; it should not be
interpreted as automatically requesting every continuous hydrology
product.
Terrain Morphometry
Available terrain descriptors include:
slope_percentslope_degreesaspecthillshadecurvature--- retained legacy Laplacian curvatureprofile_curvaturetangential_curvatureplanform_curvaturemean_curvaturegaussian_curvaturetpimultiscale_tpipositive_opennessnegative_opennesstriroughnesslocal_relief- legacy-compatible
twi - legacy-compatible
dtw tci
Example:
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM FAST_TERRAIN \
--terrain_products slope_degrees aspect hillshade profile_curvature \
planform_curvature multiscale_tpi positive_openness \
negative_openness tri roughness local_relief
Default physical scales for multiscale TPI and openness can be overridden:
--multiscale_tpi_radii_m 5 10 25 50 100
--openness_radii_m 5 10 25 50 100
Continuous-Domain Hydrology
The expanded FAST_TERRAIN hydrology system includes:
DEM conditioning
conditioned_demdepression_depth
D8 flow routing
d8_flow_directiond8_flow_accumulationd8_contributing_aread8_specific_catchment_aread8_downslope_flow_lengthd8_longest_upslope_flow_length
Multiple-flow-direction routing
mfd_flow_accumulationmfd_contributing_areamfd_specific_catchment_area
Stream network
stream_maskstrahler_stream_orderstream_link_id
Catchments and drainage structure
basin_idsubcatchment_idwatershed_boundary
Hydrologic / erosion-related indices
topographic_wetness_indexstream_power_indexrusle_s_factorcontributing_area_ls_factor
Continuous hydrology products are requested explicitly. For example:
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM FAST_TERRAIN \
--terrain_products conditioned_dem depression_depth \
d8_flow_direction d8_flow_accumulation \
d8_contributing_area d8_specific_catchment_area \
mfd_flow_accumulation mfd_contributing_area \
stream_mask strahler_stream_order stream_link_id \
basin_id subcatchment_id watershed_boundary \
topographic_wetness_index stream_power_index \
d8_downslope_flow_length d8_longest_upslope_flow_length \
rusle_s_factor contributing_area_ls_factor
Raster and Vector Hydrology
FAST_TERRAIN supports:
--terrain_output raster
--terrain_output vector
--terrain_output both
The default is raster.
Vector hydrology is generated from the authoritative continuous DEM. Stream-network extraction can be controlled with:
--stream_threshold_area_m2 1000
--stream_min_order 1
--stream_threshold_area_m2 defines the minimum contributing area used
for the analytical stream network. --stream_min_order controls the
minimum Strahler order exported to vector stream layers and does not
alter the complete analytical raster.
Example requesting terrain hydrology plus vector output:
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM FAST_TERRAIN \
--terrain_products conditioned_dem d8_flow_direction \
d8_contributing_area stream_mask \
strahler_stream_order stream_link_id \
basin_id subcatchment_id watershed_boundary \
topographic_wetness_index stream_power_index \
--terrain_output both \
--stream_threshold_area_m2 1000 \
--stream_min_order 1
Why FAST_TERRAIN Uses the Merged DEM
For tiled large-area workflows, ordinary products can be processed tile-by-tile and merged according to their product semantics. Hydrological terrain analysis is different because flow topology must remain continuous across tile boundaries.
FAST-GC therefore treats the final FAST_DEM mosaic as the
authoritative continuous terrain surface for merged FAST_TERRAIN
derivation. Final continuous-domain FAST_TERRAIN products are
regenerated from the successfully merged DEM rather than being created
by simply mosaicking independently derived hydrology tiles.
Conceptually:
Buffered LiDAR tiles
|
v
FAST_GC tiles
|
v
FAST_DEM tiles
|
v
MERGED FAST_DEM
|
+--------------------------+
| |
v v
Terrain morphometry Continuous hydrology
|
+-------------+-------------+
| | |
D8 MFD Streams /
Basins /
Watersheds
This continuous-domain rule is especially important for flow direction, accumulation, contributing area, stream topology, watersheds, flow length, and related indices.
FAST_STRUCTURE --- Forest Structure
FAST_STRUCTURE derives spatial forest-structure metrics from
FAST_NORMALIZED, including canopy cover, mean height, maximum height,
height standard deviation, foliage height diversity (FHD), vertical
complexity index (VCI), and point count.
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM FAST_NORMALIZED FAST_STRUCTURE \
--structure_products all
FAST_ITD --- Individual Tree Detection
FAST_ITD provides individual-tree detection workflows using
canopy-height or compatible surface information. The established public
workflows include local-maxima filtering (lmf), watershed
(watershed), adaptive watershed (adaptive_watershed), and the Yun et
al. (2021) workflow (yun2021). Watershed-based workflows can support
crown delineation, while lmf provides treetop detection.
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM FAST_NORMALIZED FAST_CHM FAST_ITD \
--chm_method pitfree \
--itd_method watershed
The CLI may expose additional dispatcher method names for development or compatibility. A method should only be treated as an established workflow when its implementation is available and validated.
FAST_TREECLOUDS --- Individual-Tree Point Clouds
FAST_TREECLOUDS associates LiDAR points with tree/crown delineations
and creates tree-level point-cloud products. The point source can be
FAST_NORMALIZED or FAST_GC, with optional individual LAS writing.
fastgc \
--in_path processed_FASTGC_workspace \
--sensor_mode ALS \
--workflow derive-only \
--products FAST_TREECLOUDS \
--treeclouds_las_source FAST_NORMALIZED \
--treeclouds_write_individual
FAST_CHANGE --- Raster Change Analysis
FAST_CHANGE compares compatible FAST_DEM, FAST_DSM, FAST_CHM, or
FAST_TERRAIN raster observations. Comparison modes are pairwise,
sequential, and baseline, with threshold and level-of-detection
controls.
fastgc \
--in_path processed_FASTGC_workspace \
--sensor_mode ALS \
--workflow derive-only \
--products FAST_CHANGE \
--change_input_type FAST_CHM \
--change_mode sequential
Overall Processing Architecture
FAST-GC separates spatial preparation, raw-LiDAR processing, terrain-referenced derivation, and specialized downstream analysis.
LiDAR survey / LAS / LAZ
|
+---------------+---------------+
| |
| optional | direct
v |
FAST-GIS |
sampling / imported plots |
clipping / core + buffer |
manifests / plot collections |
| |
+---------------+---------------+
|
v
FAST_GC
ground classification
|
+---------------+----------------+
| |
v v
FAST_DEM FAST_DSM
| |
+-------+---------+ |
| | |
v v |
FAST_NORMALIZED FAST_TERRAIN |
| terrain + hydrology |
| | |
| authoritative merged DEM |
| for continuous hydrology |
| |
+----+--------------+ |
| | |
v v |
FAST_CHM FAST_STRUCTURE |
| |
v |
FAST_ITD <-------------------------------------+
|
v
FAST_TREECLOUDS
Compatible DEM / DSM / CHM / TERRAIN rasters
|
v
FAST_CHANGE
Not every product requires every preceding stage. For example,
FAST_DSM can operate directly on a point cloud, while
FAST_NORMALIZED requires a terrain reference. FAST_TERRAIN depends on
FAST_DEM; continuous-domain terrain hydrology uses the authoritative
merged DEM in merged/tiled workflows.
Workflow Modes
Workflow Purpose
run Process an input file or collection
directly
plots-run Process managed FAST-GIS plots or
external independent plot point
clouds
tile-only Create buffered processing tiles
without deriving products
tile-run Tile and process without final
merging
tile-run-merge Tile, process, merge, and derive
final merged products
merge Merge previously processed tiled
outputs
derive-only Derive downstream products from
existing compatible FAST-GC outputs
Processing Scenarios
1. Single LAS/LAZ --- Ground Classification
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--workflow run \
--products FAST_GC
Change ALS to ULS or TLS according to the acquisition platform.
2. Folder / Batch Processing
fastgc \
--in_path lidar_folder \
--out_dir output \
--sensor_mode ULS \
--workflow run \
--products FAST_GC \
--recursive
3. FAST-GIS Managed Plot Collection
fastgc \
--in_path path/to/ULS_plots \
--workflow plots-run \
--products FAST_GC FAST_DEM FAST_NORMALIZED FAST_CHM
4. Large Dataset --- Tiling Only
fastgc \
--in_path large_input.laz \
--out_dir output \
--sensor_mode ALS \
--workflow tile-only \
--tile_size_m 250 \
--buffer_m 5
5. Tile and Process
fastgc \
--in_path large_input.laz \
--out_dir output \
--sensor_mode ALS \
--workflow tile-run \
--tile_size_m 250 \
--buffer_m 5 \
--products FAST_GC FAST_DEM FAST_NORMALIZED
6. Complete Tile → Process → Merge
fastgc \
--in_path large_input.laz \
--out_dir output \
--sensor_mode ALS \
--workflow tile-run-merge \
--tile_size_m 100 \
--buffer_m 5 \
--products FAST_GC FAST_DEM FAST_NORMALIZED FAST_DSM FAST_CHM FAST_TERRAIN \
--terrain_products all \
--jobs 0
This produces the established local/core FAST_TERRAIN set. Add continuous hydrology products explicitly when they are required.
7. Large-Area Terrain + Hydrology
fastgc \
--in_path large_input.laz \
--out_dir output \
--sensor_mode ALS \
--workflow tile-run-merge \
--tile_size_m 100 \
--buffer_m 5 \
--products FAST_GC FAST_DEM FAST_TERRAIN \
--terrain_products slope_degrees aspect hillshade multiscale_tpi \
conditioned_dem depression_depth \
d8_flow_direction d8_contributing_area \
mfd_contributing_area \
stream_mask strahler_stream_order stream_link_id \
basin_id subcatchment_id watershed_boundary \
topographic_wetness_index stream_power_index \
rusle_s_factor contributing_area_ls_factor \
--terrain_output both \
--stream_threshold_area_m2 1000 \
--stream_min_order 1 \
--jobs 0
The merged FAST_DEM becomes the authoritative surface for the final
continuous-domain FAST_TERRAIN analysis.
8. Multiple CHMs in One Run
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM FAST_NORMALIZED FAST_CHM \
--chm_methods p2r p99 pitfree adaptive_pitfree
9. Derive Products Without Re-running Ground Classification
fastgc \
--in_path processed_FASTGC_workspace \
--sensor_mode ALS \
--workflow derive-only \
--products FAST_CHM \
--chm_methods p2r p99 pitfree
Forest structure can similarly be derived from an existing compatible workspace:
fastgc \
--in_path processed_FASTGC_workspace \
--sensor_mode ALS \
--workflow derive-only \
--products FAST_STRUCTURE \
--structure_products all
10. Merge Existing Tiled Results
fastgc \
--in_path processed_FASTGC_workspace \
--sensor_mode ALS \
--workflow merge \
--products FAST_GC FAST_DEM FAST_NORMALIZED FAST_DSM FAST_TERRAIN
11. Individual-Tree Workflow
fastgc \
--in_path input.laz \
--out_dir output \
--sensor_mode ALS \
--products FAST_GC FAST_DEM FAST_NORMALIZED FAST_CHM FAST_ITD \
--chm_method pitfree \
--itd_method watershed
12. Raster Change Workflow
fastgc \
--in_path processed_FASTGC_workspace \
--sensor_mode ALS \
--workflow derive-only \
--products FAST_CHANGE \
--change_input_type FAST_CHM \
--change_mode sequential
13. Google Colab / Google Drive
!fastgc \
--in_path "/content/drive/MyDrive/input.laz" \
--out_dir "/content/drive/MyDrive/FASTGC_output" \
--sensor_mode ALS \
--workflow run \
--products FAST_GC
Notebook environments are convenient for modest datasets. Large-area tiled processing is generally better suited to a workstation or dedicated compute environment.
Parallel and Large-Area Processing
FAST-GC supports tile-parallel execution. --jobs 0 allows FAST-GC to
select the available CPU worker count automatically while reserving one
logical CPU.
fastgc \
--in_path large_input.laz \
--out_dir output \
--sensor_mode ALS \
--workflow tile-run-merge \
--tile_size_m 250 \
--buffer_m 5 \
--jobs 0 \
--products FAST_GC FAST_DEM
Explicit worker counts can also be supplied with --jobs.
Typical Output Organization
Depending on requested products, an output workspace can contain:
FASTGC_output/
|
+-- FAST_GC/
+-- FAST_DEM/
+-- FAST_NORMALIZED/
+-- FAST_DSM/
+-- FAST_CHM/
+-- FAST_TERRAIN/
| +-- slope_degrees/
| +-- aspect/
| +-- curvature/
| +-- multiscale_tpi/
| +-- positive_openness/
| +-- negative_openness/
| +-- conditioned_dem/
| +-- d8_flow_direction/
| +-- d8_contributing_area/
| +-- stream_mask/
| +-- strahler_stream_order/
| +-- basin_id/
| +-- watershed_boundary/
| +-- ...
+-- FAST_TERRAIN_HYDROLOGY_VECTOR/
+-- FAST_STRUCTURE/
+-- FAST_ITD/
+-- FAST_TREECLOUDS/
+-- FAST_CHANGE/
Point-cloud products are written as LAS/LAZ outputs and raster products as geospatial raster outputs according to the selected workflow. FAST_TERRAIN vector hydrology is routed separately from raster terrain products.
A FAST-GIS workspace additionally maintains sampling/plot metadata such as:
FAST_GIS_workspace/
|
+-- workspace_manifest.json
+-- sampling_manifest.json
+-- sample_plots.geojson
+-- ALS_plots/ (or ULS_plots / TLS_plots)
+-- plots_manifest.json
+-- Plot_001/
+-- Plot_002/
+-- ...
Important Terrain/Hydrology Notes
FAST_TERRAINdepends onFAST_DEM.--terrain_products allmeans the established local/core terrain set; continuous hydrology products are requested explicitly.- Continuous hydrology is derived from an authoritative continuous DEM.
- In tiled merged workflows, final continuous-domain FAST_TERRAIN products are derived from the merged FAST_DEM rather than mosaicked from independently derived hydrology tiles.
--terrain_output rasteris the default.--terrain_output vectorand--terrain_output bothenable vector hydrology generation.--stream_threshold_area_m2controls the analytical stream-network contributing-area threshold.--stream_min_ordercontrols the minimum Strahler order exported to vector streams without changing the complete analytical raster.- Multiscale TPI and openness use physical radii in metres.
- Categorical hydrology products preserve categorical raster semantics rather than being treated as ordinary continuous floating-point surfaces.
Command-Line Reference
The installed CLI is the authoritative reference for current processing options:
fastgc --help
Check the installed version with:
fastgc --version
Major option groups include:
- sensor and workflow selection
- product selection
- DEM / DSM rasterization
- CHM generation
- terrain and hydrology products
- raster/vector terrain output
- stream-network controls
- multiscale TPI and openness
- forest structure
- ITD
- tree-cloud extraction
- raster change analysis
- tiling and parallel execution
Release Validation
FAST-GC release development uses automated regression tests covering core routing, CLI contracts, CRS propagation, FAST-GIS behavior, terrain product registration, DEM dependencies, terrain raster semantics, D8 and MFD hydrology, DEM conditioning, flats, streams, Strahler ordering, stream links, watersheds, vector topology, flow length, TWI/SPI, RUSLE-related products, openness, and output routing.
Users developing from source should run:
python -m pytest -q
before packaging or publishing modified builds.
Citation
If FAST-GC contributes to your research, please cite:
Fareed, N.; Numata, I.; Silva, C. A.; Prichard, S. J. (2026).
FAST-GC: A Fully Adaptive Self-Tuning Ground Classification Algorithm for Multi-Platform LiDAR Sensors.
Preprints.org, Version 1.
https://www.preprints.org/manuscript/202609.1631
The manuscript has been submitted for peer-reviewed publication. Until the final article is available, the public preprint above is the current scientific reference. This README will be updated with the final journal citation and DOI when the peer-reviewed article is published.
Repository and Support
Source code: https://github.com/nadeemfareed/FAST-GC\ Issues and feature requests: https://github.com/nadeemfareed/FAST-GC/issues
Author
FAST-GC was conceived, developed, implemented, and is maintained by Nadeem Fareed.
Copyright © 2026 Nadeem Fareed.
License
FAST-GC is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later).
See LICENSE for the complete license terms.
Metadata
Release files for fastgc 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fastgc-0.2.1.tar.gz | 1.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fastgc-0.2.1-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
Total release size: 2.6 MB
Release files / fastgc-0.2.1.tar.gz
| Download URL | fastgc-0.2.1.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6a5f3e3d041408c83629bb7df8e8e5488d1e4611a17f20100c93375e821efcd0
|
|
BLAKE2b-256 checksum How to use checksums |
c19c87091d3ee69813dd830a71b6f931ea6811d23d184e30a408bb0470d7f3db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / fastgc-0.2.1-cp312-cp312-win_amd64.whl
| Download URL | fastgc-0.2.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0822657f15ea102479a4a7b331f10703001bbf0c1357f33e5b8e5fcf2c4c6be7
|
|
BLAKE2b-256 checksum How to use checksums |
4619e57ef6e14888d1192930eda416ec22787ce7c231d541815d3f3a4b386b2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|