Package 'PiC'

Title: Pointcloud Interactive Computation for Forest Structure Analysis
Description: Provides advanced algorithms for analyzing pointcloud data in forestry applications. Key features include fast voxelization of large datasets; segmentation of point clouds into forest floor, understorey, canopy, and wood components. The package enables efficient processing of large-scale forest pointcloud data, offering insights into forest structure, connectivity, and fire risk assessment. Algorithms to analyze pointcloud data (.xyz input file). For more details, see Ferrara & Arrizza (2025) <https://hdl.handle.net/20.500.14243/533471>. For single tree segmentation details, see Ferrara et al. (2018) <doi:10.1016/j.agrformet.2018.04.008>.
Authors: Roberto Ferrara [aut, cre] , Stefano Arrizza [aut]
Maintainer: Roberto Ferrara <[email protected]>
License: GPL (>= 3)
Version: 1.0.3
Built: 2025-02-19 05:10:10 UTC
Source: https://github.com/rupppy/pic

Help Index


Forest floor segmentation

Description

Segments the input .xyz pointcloud file into different forestry layers: forest floor and above ground biomass.

Usage

Floseg(a, filename="XXX", soil_dim = 0.3, th = 20, N=500, output_path = tempdir())

Arguments

a

- Input file (.xyz)

filename

- Output file prefix

soil_dim

- Voxel dimension (m) for forest floor segmentation - Default = 0.30

th

- Minimum number of point to generate a voxel. Default = 20

N

- Minimum number of voxel to generate a cluster. Default = 500

output_path

Directory in cui scrivere i file di output. Default = tempdir()

Value

2 files (.txt) output. 1. Forest floor pointcolud; 2. AGB pointcloud


Forest component segmentation

Description

Segments the input .xyz pointcloud file into different forestry layers.

Usage

Forest_seg (a, filename="XXX", dimVox = 2, th = 2,
eps = 2, mpts = 6, h_tree = 1, soil_dim= 0.3,
N = 500, R = 30, Vox_print = FALSE, WoodVox_print = FALSE, output_path = tempdir())

Arguments

a

- Input file (.xyz)

filename

- Output file prefix

dimVox

- Voxel dimension (cm) - Default = 2

th

- Minimum number of point to generate a voxel. Default = 2

eps

- size (radius) of the epsilon neighborhood - Default = 1

mpts

- number of minimum points required in the eps neighborhood for core points (including the point itself) - Default = 4

h_tree

- minumum trunk lenght (m)

soil_dim

- Voxel dimension (m) for forest floor segmentation - Default = 0.30

N

- Minimum number of voxel in a wood cluster - Default = 1000

R

- R = Standard deviation * Proportion of Variance - Default = 30

Vox_print

- Print point cloud voxelization. Default FALSE

WoodVox_print

- Print wood voxelization

output_path

Directory in cui scrivere i file di output. Default = tempdir()

Details

Whole pointcloud segmentation process

Value

6 files (.txt) output. 1. Voxelized pointcloud. 2. Forest floor (vox). 3. AGB (vox) 4. DTM. 5. Wood (vox) 6. AGB no wood


Single Tree wood leaf segmentation

Description

Wood - leaf segmentation of single tree

Usage

SegOne(a, filename = "Elab_single_tree", dimVox = 2, th = 2, 
eps = 1, mpts = 4, N = 1000, R = 30, output_path = tempdir())

Arguments

dimVox

- voxel dimension in cm - Default = 2

th

- Minimum number of points to generate a voxel - Default = 2

filename

- Output file prefix

a

- AGB voxelized input file

eps

- size (radius) of the epsilon neighborhood - Default = 1

mpts

- number of minimum points required in the eps neighborhood for core points (including the point itself) - Default = 4

N

- Minimum number of voxel in a wood cluster - Default = 1000

R

- R = Standard deviation * Proportion of Variance - Default = 30

output_path

Directory in cui scrivere i file di output. Default = tempdir()

Value

Two file (.txt) in output - Wood points and non wood points


Voxelize point cloud

Description

Transform pointcloud in voxel

Usage

Voxels(a, filename = "XXX", dimVox = 2, th = 2, output_path = tempdir())

Arguments

a

- input file

filename

- file output prefix

dimVox

- voxel dimension in cm - Default = 2

th

Minimum number of point to generate a voxel (Default = 1) Is a parameter that should be used with caution; it generates a lightened cloud with fewer points. To be evaluated in relation with the dimVox parameter, for high point densities it is efficae to remove noise (outliers)

output_path

Directory in cui scrivere i file di output. Default = tempdir()

Value

Voxelized pointcloud


Wood voxels segmentation

Description

Point cloud segmentation to identify wood voxels

Usage

Woodseg(a, filename = "XXX", eps = 1, mpts = 4, N = 1000, R = 30, output_path = tempdir())

Arguments

filename

- Output file prefix

a

- AGB voxelized input file

eps

- size (radius) of the epsilon neighborhood - Default = 1

mpts

- number of minimum points required in the eps neighborhood for core points (including the point itself) - Default = 4

N

- Minimum number of voxel in a wood cluster - Default = 1000

R

- R = Standard deviation * Proportion of Variance - Default = 30

output_path

Directory in cui scrivere i file di output. Default = tempdir()

Value

One file (.txt) output - Wood voxels (vox)