ToothCore {Toothnroll}R Documentation

ToothCore

Description

Tool to build 3D and 2D cross sections

Usage

ToothCore(
  out.sur = out.sur,
  inn.sur = inn.sur,
  num.sect = 61,
  bio.len,
  clean_int_out_O = TRUE,
  clean_int_out_I = TRUE,
  param1_out = 0.5,
  radius.fact_out = 2.5,
  param1_inn = 0.5,
  radius.fact_inn = 2.5,
  npovs = 100,
  num.points = 500,
  start = 0.2,
  end = 0.8,
  curved = FALSE,
  print.progress = TRUE
)

Arguments

out.sur

object of class mesh3d

inn.sur

object of class mesh3d

num.sect

number of sections

bio.len

length of the selected region of interest along with extracting the digital section

clean_int_out_O

logical if TRUE the outer section will be cleaned by using spherical flipping

clean_int_out_I

logical if TRUE the inner section will be cleaned by using spherical flipping

param1_out

numeric parameter for clean_int_out_O spherical flipping operator (how much the section will be deformed)

radius.fact_out

logical if TRUE the inner section will be cleaned by using spherical flipping

param1_inn

numeric parameter for clean_int_out_I spherical flipping operator (how much the section will be deformed)

radius.fact_inn

logical if TRUE the inner section will be cleaned by using spherical flipping

npovs

numeric: number of points of view defined around the section

num.points

number of equiengular points to be defined on each section

start

percentage of the mechanical length from which the first section is defined

end

percentage of the mechanical length from which the last section is defined

curved

logical: if TRUE the cutting planes will follow the mesh curvature (beta version)

print.progress

logical: if TRUE a progress bar is printed to the screen

Value

out3D num.pointsx3xnum.sect array of the external outlines

inn3D num.pointsx3xnum.sect array of the internal outlines

out3D num.pointsx2xnum.sect array of the external outlines

inn3D num.pointsx2xnum.sect array of the internal outlines

mech_length mechanical length of the long bone

start percentage of the mechanical length from which the first section is defined

end percentage of the mechanical length from which the last section is defined

Author(s)

Antonio Profico; Mathilde Augoyard

Examples


data("URI1_tooth")
require(morphomap)
require(Morpho)
require(rgl)
Enamel<-URI1_tooth$mesh1
Dentin<-URI1_tooth$mesh2
Pulp<-URI1_tooth$mesh3
outline<-URI1_tooth$outline
set<-URI1_tooth$set

#Unrolling the crown
AlignMeshes<-ToothAlignment(mesh1=Enamel,mesh2=Dentin,mesh3=Pulp,set,outline,analyse = "c")
#Virtual sectioning dentine-pulp
External<-AlignMeshes$almesh1$mesh
Internal<-AlignMeshes$almesh2$mesh
#Define 16 cross-sections from the 30% to the 90% along the crown
Core<-ToothCore(External,Internal,num.points = 1000,num.sect =16,
                bio.len = AlignMeshes$length,start=0.3,end=0.9)

plot3d(morphomapArray2matrix(Core$"out3D"),aspect=FALSE,xlab="x",ylab="y",zlab="z")
plot3d(morphomapArray2matrix(Core$"inn3D"),aspect=FALSE,add=TRUE)
wire3d(AlignMeshes$almesh2$mesh,col="white")
wire3d(AlignMeshes$almesh1$mesh,col="violet")

#Unrolling the rooth
AlignMeshes<-ToothAlignment(mesh1=Enamel,mesh2=Dentin,mesh3=Pulp,set,outline,analyse = "r")
#Virtual sectioning dentine-pulp
External<-AlignMeshes$almesh2$mesh
Internal<-AlignMeshes$almesh3$mesh
#Define 16 cross-sections from the 10% to the 50% along the root
Core<-ToothCore(External,Internal,num.points = 1000,num.sect =16,
                bio.len = AlignMeshes$length,start=0.1,end=0.5)

plot3d(morphomapArray2matrix(Core$"out3D"),aspect=FALSE,xlab="x",ylab="y",zlab="z")
plot3d(morphomapArray2matrix(Core$"inn3D"),aspect=FALSE,add=TRUE)
wire3d(AlignMeshes$almesh3$mesh,col="red")
wire3d(AlignMeshes$almesh2$mesh,col="lightblue")
wire3d(AlignMeshes$almesh1$mesh,col="white")


[Package Toothnroll version 1.11 Index]