Highlights: This paper introduces a multistep algorithm for extracting a Digital Terrain Model (DTM) and top of canopy from photon-counting profiling LiDAR data. The approach emphasizes the identification of bare-ground areas and vegetated areas, to support estimation of canopy height. This work is motivated by the need to process noisy data from ICESat-2, which is scheduled for launch in 2017.