getRootsDir: Convert a directory of raw DICOM images to root particle...

Description Usage Arguments Details Value See Also Examples

Description

Calculates the number of root/rhizome particles and surface areas, for different size classes

Usage

1
2
3
4
5
6
7
getRootsDir(directory = file.choose(), 
diameter.classes = c(1, 2, 5, 10, 20),
class.names = diameter.classes,
means     = c(-850.3233, 63.912, 271.7827, 1345.0696),
sds       = c(77.6953, 14.1728, 39.2814, 45.4129),
densities = c(0.0012, 1, 1.23, 2.2),
pixel.minimum = 1)

Arguments

directory

a character string that can be a matrix of DICOM images or the address of an individual DICOM file in a folder of DICOM images. The default action is <code>file.choose()</code>; a browser menu appears so the user can select the the desired directory by identifying a single DICOM file in the folder of images.

diameter.classes

an integer vector of diameter cut points. Units are mm (zero is added in automatically).

class.names

not used presently

means

mean values (units = Hounsfield Units) for calibration rods used.

sds

standard deviations (units = Hounsfield Units) for calibration rods used. Must be in the same order as means.

densities

numeric vector of known cal rod densities. Must be in the same order as means and sds.

pixel.minimum

minimum number of pixels needed for a clump to be identified as a root

Details

Calculates the number of root/rhizome particles and surface areas, for different size classes. Unlike getRoots, getRootsDir accepts a folder of raw values and makes the conversion to Hounsfield Units using the metadata associated with the DICOM images. This version accommodates calibration curves with >4 calibrants, and uses density thresholds converted to Hounsfield Units using the calibration curve (rather than direct calibration rod values) to partition sediment components.

Value

value getRootData returns a dataframe with one row per CT slice. Values returned are the number, volume (cm3), and surface area (cm2) of particles in each size class with an upper bound defined in diameter.classes.

See Also

getRootsDir is a wrapper for getRoots. getRootsDir operates similarly.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
rootChars <- getRootsDir("core_426", diameter.classes = c(2.5, 10))

## Not run: 
# plot using "ggplot" package after transforming with "reshape2" package
area.long <- reshape2::melt(rootChars, id.vars = c("depth"), 
   measure.vars = grep("Area", names(rootChars)))
ggplot2::ggplot(data = area.long, ggplot2::aes(y = -depth, x = value, 
   color = variable)) + ggplot2::geom_point() + ggplot2::theme_classic() + 
   ggplot2::xlab("root external surface area per slice (cm2)")

## End(Not run)

coreCT documentation built on Feb. 5, 2021, 5:06 p.m.