Learn R Programming

archiDART (version 1.0)

archidraw: X-Y Plotting of Vectorized Root Systems

Description

X-Y plotting of vectorized root systems for selected observation dates using Data Analysis of Root Tracings (DART) output files.

Usage

archidraw(inputlie, res=NULL, unitlength="px", unitangle="d", rotation=0, numdate=NULL,
          finalscale=NULL, coldate=par("col"), ltydate=par("lty"), lwddate=par("lwd"), 
          main=NULL, xlab=NULL, ylab=NULL, xlim=NULL, ylim=NULL, ...)

Arguments

inputlie
A character string specifying the path to the folder containing the lie files created by DART.
res
A numeric value specifying the image resolution (dots per inch, dpi) of the pictures used in DART for the vectorization of the root systems. This argument must only be specified if unitlength="mm" or unitlength="cm".
unitlength
A character string specifying the unit of length that will be used by the function to scale the X and Y axes of the graphical outputs. The value acceptable for this argument could either be px for pixels, cm for centimete
unitangle
A character string specifying the unit that will be used by the function to express the calculated angles. The value acceptable for this argument could be either d for degrees (default value) or r for radians.
rotation
A numeric value specifying the angle (expressed in unitangle) that will be used by the function to perform a clockwise rotation of the root system.
numdate
A numeric value or a vector of numeric values specifying the identification number of all observation dates at which the root system architecture must be plotted (see details).
finalscale
A logical value that must be specified when is.null(numdate)=FALSE. If TRUE, the root system architecture at the selected observation dates will be plotted with the same X and Y-axis scales to that used to draw the root system ar
coldate
A vector specifying the colour(s) that will be used to draw the root system architecture at the selected observation dates (see details).
ltydate
A vector specifying the line type(s) that will be used to draw the root system architecture at the selected observation dates (see details).
lwddate
A vector specifying the line width(s) that will be used to draw the root system architecture at the selected observation dates (see details).
main
A character string giving a main title for the plot. When main=NULL, the default title for each plot is the name of the corresponding lie file.
xlab
A character string giving a label for the X axis. When xlab=NULL, the default label for the X axis is X (unitlength).
ylab
A character string giving a label for the Y axis. When ylab=NULL, the default label for the Y axis is Y (unitlength).
xlim
A numeric vector (length=2) giving the X limits of the plot using the same unit as unitlength.
ylim
A numeric vector (length=2) giving the Y limits of the plot using the same unit as unitlength.
...
Additional graphical parameters (see details).

Value

  • Returns a X-Y plot for each vectorized root system located in inputlie.

Details

Le Bot et al (2010) presented a free and open-access software (Data Analysis of Root Tracings - DART) allowing the analysis of complex root system architectures from captured images, particularly across time series. Using this software, a user has to manually identify roots as a set of links. At the end of the vectorization process, a final data set can be exported as a table file (lie file) containing several attributes for each point used to construct the links constituting the vectorized root system. Using these lie files created by DART, archidraw allows the X-Y plotting of vectorized root systems for selected observation dates. The function archidraw will locate and read the lie files created by DART and plot the vectorization results at selected observation dates for each analysed root system. First, archidraw will check if all arguments have been written in the suitable mode. If res and rotation are specified, the function will check if the numeric values required by these arguments are positive. If is.null(numdate)=FALSE, the function will also automatically check if the numeric values in numdate are positive and sorted by increasing values. If an error occurs for one argument, the code stops and the corresponding error message will be returned by the function. Second, the function will use inputlie to locate and read the raw lie files created by DART. To run archidraw efficiently, DART files must have been saved with their appropriate extensions (.lie). Finally, archidraw will plot each vectorized root system located in inputlie at the observation dates specified by numdate. By default (when numdate=NULL), only the root system architecture of the last observation date will be plotted. If is.null(numdate)=FALSE, archidraw will only plot the root system architecture for the selected observation dates. If the number of elements specified in coldate/ltydate/lwddate is lower than max(Date) in the lie files (if numdate=NULL) or max(numdate) (if is.null(numdate)=FALSE), archidraw will replicate elements stored in coldate/ltydate/lwddate to draw the vectorization results. However when the number of elements specified in coldate/ltydate/lwddate is greater than max(Date) in the lie files (if numdate=NULL) or max(numdate) (if is.null(numdate)=FALSE), only the first corresponding elements in coldate/ltydate/lwddate will be used by archidraw to plot the root system architecture for each file located in inputlie. Due to technical limitations, it is sometimes easier to take a picture of a root system if it is rotated before image acquisition. In that case, the vectorized root system will depict a rotation compared to the natural plant root system. To make a correction, one can use rotation to specify an angle value expressed in unitangle that will be used by the function to rotate the vectorized root system clockwise before plotting. Additional graphical parameters can also be used to personalize the graphical outputs (see par).

References

Le Bot J., Serra V., Fabre J., Draye X., Adamowicz S., Pages L. (2010) DART: a software to analyse root system architecture and development from captured images, Plant and Soil, 326, 261--273.

See Also

par.

Examples

Run this code
## Importation of an example data set
data(ch7lie)

## Creation of a folder (called DART_archidraw) inside a temporary directory to contain lie 
## example datasets created by DART
dirDART <- paste(tempdir(), "/DART_archidraw", sep="")
dir.create(dirDART)

## Definition of the number of lie files that will be saved inside dirDART 
n <- 1

## Creation of lie files inside dirDART
for (i in 1:n) {
write.table(ch7lie, file=paste(dirDART,"/ch7_",i,".lie", sep=""), row.names=FALSE)}

## Use of archidraw to plot the root system architecture in black for the last observation date
archidraw(inputlie=dirDART, res=75, unitlength="cm", lwddate=2, las=1, bty="l", asp=1,
xaxp=c(0,30,3), yaxp=c(0,90,9))


## Use of archidraw to plot the root system architecture at the last observation date 
## Use a specific colour for each link related to a single observation date
archidraw(inputlie=dirDART, res=75, unitlength="cm", coldate=rainbow(31), lwddate=2, las=1,
bty="l", asp=1, xaxp=c(0,30,3), yaxp=c(0,90,9))

## Use of archidraw to plot the root system architecture at selected observation dates 
## Use the same X and Y-axis scales to that used for the last observation date and a specific colour
## for each observation date
archidraw(inputlie=dirDART, res=75, unitlength="cm", numdate=c(15,30), finalscale=TRUE, 
coldate=rainbow(31), lwddate=2, las=1, bty="l", asp=1, xaxp=c(0,30,3), yaxp=c(0,90,9))

unlink(dirDART, recursive=TRUE)

Run the code above in your browser using DataLab