Skip to contents

This function generates a depth map for minirhizotron images, accounting for tube geometry and insertion angle.

Usage

create_depthmap(
  img,
  mask = NULL,
  sinoid = TRUE,
  tube.thicc = 7,
  tilt = 45,
  dpi = 300,
  start.soil = 0,
  center.offset = 0,
  select.layer = 2
)

Arguments

img

Input image (accepts terra SpatRaster, matrix, array, or file path). For multi-band images, specify band_index parameter

mask

Raster mask indicating foreign objects (1 = mask, 0 or NA = keep)

sinoid

Logical; if TRUE, accounts for tube curvature in depth calculation

tube.thicc

Numeric; diameter of minirhizotron tube in cm

tilt

Numeric; minirhizotron tube insertion angle in degrees (typically 30-45)

dpi

Numeric; image resolution in dots per inch

start.soil

Numeric; soil surface boundary in cm (0 = surface)

center.offset

Numeric; rotational center offset (0 = centered, 1 = edge)

select.layer

Integer. Specifies which layer to use if the input is a multi-band image. Default is `2`.

Value

terra raster object containing the depth map

Author

Johannes Cunow, Robert Weigel

Examples

data(seg_Oulanka2023_Session01_T067)
seg_Oulanka2023_Session01_T067 = terra::rast(seg_Oulanka2023_Session01_T067)
img = seg_Oulanka2023_Session01_T067
mask = seg_Oulanka2023_Session01_T067[[1]] - seg_Oulanka2023_Session01_T067[[2]]
mask[mask == 255] <- NA
map = create_depthmap(img,mask,start.soil = 0.1,
  sinoid = TRUE,
  tube.thicc = 7,
  tilt = 45,
  dpi = 300,
  center.offset = 0 )
#> Processing row 100 of 4900
#> Processing row 200 of 4900
#> Processing row 300 of 4900
#> Processing row 400 of 4900
#> Processing row 500 of 4900
#> Processing row 600 of 4900
#> Processing row 700 of 4900
#> Processing row 800 of 4900
#> Processing row 900 of 4900
#> Processing row 1000 of 4900
#> Processing row 1100 of 4900
#> Processing row 1200 of 4900
#> Processing row 1300 of 4900
#> Processing row 1400 of 4900
#> Processing row 1500 of 4900
#> Processing row 1600 of 4900
#> Processing row 1700 of 4900
#> Processing row 1800 of 4900
#> Processing row 1900 of 4900
#> Processing row 2000 of 4900
#> Processing row 2100 of 4900
#> Processing row 2200 of 4900
#> Processing row 2300 of 4900
#> Processing row 2400 of 4900
#> Processing row 2500 of 4900
#> Processing row 2600 of 4900
#> Processing row 2700 of 4900
#> Processing row 2800 of 4900
#> Processing row 2900 of 4900
#> Processing row 3000 of 4900
#> Processing row 3100 of 4900
#> Processing row 3200 of 4900
#> Processing row 3300 of 4900
#> Processing row 3400 of 4900
#> Processing row 3500 of 4900
#> Processing row 3600 of 4900
#> Processing row 3700 of 4900
#> Processing row 3800 of 4900
#> Processing row 3900 of 4900
#> Processing row 4000 of 4900
#> Processing row 4100 of 4900
#> Processing row 4200 of 4900
#> Processing row 4300 of 4900
#> Processing row 4400 of 4900
#> Processing row 4500 of 4900
#> Processing row 4600 of 4900
#> Processing row 4700 of 4900
#> Processing row 4800 of 4900
#> Processing row 4900 of 4900