DNE: Calculate Dirichlet normal energy of a surface

Description Usage Arguments Details Examples

View source: R/DNE.R

Description

A function that calculates Dirichlet normal energy following the method of Bunn et al. (2011) Comparing Dirichlet normal surface energy of tooth crowns, a new technique of molar shape quantification for dietary inference, with previous methods in isolation and in combination. Am J Phys Anthropol 145:247-261 doi: 10.1002 ajpa.21489

Usage

1
DNE(plyFile, outliers = 0.1, BoundaryDiscard = "Vertex")

Arguments

plyFile

An object of class 'mesh3d' and 'shape3d' with calculated normals

outliers

The percentile of Dirichlet energy density values to be excluded defaults to top 0.1 percent

BoundaryDiscard

Logical indicating how to handle the exclusion of boundary faces. Defaults to Leg which exlcudes faces which have a leg on the boundary

Details

The function requires an object created by reading in a ply file utilizing either the read.ply or the read.AVIZO.ply function, with calculated normals.

Dirichlet normal energy is calculated on meshes that represent specimen surfaces and have already been simplified to 10,000 faces and pre-smoothed in a 3D data editing program.

In the default settings, the function seeks to discard boundary faces. This can be changed by adjusting the BoundaryDiscard argumen to 'None' which will not discard any faces on on the boundary. Further, there are two ways of excluding boundary faces. Either if they have a leg on the boundary by setting BoundaryDiscard='Leg' or by excluding any face which has a vertex on the boundary with BoundaryDiscard='Vertex'. The function defaults to remove the top 0.1 percent of calculated energy densities as outliers. Mesh orientation does not affect for this calculation.

Examples

1
2
DNE_output <- DNE(Tooth)
summary(DNE_output)

Example output

Loading required package: alphahull
Loading required package: rgl
Loading required package: Rvcg
Warning messages:
1: In rgl.init(initValue, onlyNULL) : RGL: unable to open X11 display
2: 'rgl.init' failed, running with 'rgl.useNULL = TRUE'. 
Total Surface DNE = 183.9593 
                Length Class      Mode   
Surface_DNE     1      -none-     numeric
Face_Values     2      data.frame list   
Boundary_Values 2      data.frame list   
Outliers        2      data.frame list   
plyFile         4      mesh3d     list   

molaR documentation built on March 13, 2020, 3:14 a.m.