The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Type: Package
Title: Pointcloud Interactive Computation for Forest Structure Analysis
Version: 1.0.3
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>.
License: GPL (≥ 3)
Depends: R (≥ 4.3)
Imports: collapse, data.table, dbscan, dplyr, foreach, magrittr, stats, tictoc
Suggests: ggplot2, testthat (≥ 3.0.0), withr
Config/testthat/edition: 3
Encoding: UTF-8
RoxygenNote: 7.3.2
URL: https://github.com/rupppy/PiC
BugReports: https://github.com/rupppy/PiC/issues
NeedsCompilation: no
Packaged: 2025-02-17 09:39:57 UTC; robertoferrara
Author: Roberto Ferrara ORCID iD [aut, cre], Stefano Arrizza [aut]
Maintainer: Roberto Ferrara <roberto.ferrara@cnr.it>
Repository: CRAN
Date/Publication: 2025-02-18 10:00:02 UTC

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)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.