2.3 Optical Images

In order to make the images usable for plotting alongside other data, they need to be cropped to the scanned area and referenced to the position or a depth variable. The initial crop can be supressed using trim = FALSE if the whole image is desired. Images in R are read in as a matrix with 3 dimensions (length, width, and the three colours). The data can be imported using itraxR::itrax_image(). This function can produce a basic diagram (shown in subsequent section), but here we focus on the structure of the imported object. $image is a three dimensional array, the first two dimensions are the length of the core and the width, respectively. Those two dimensions have "dimnames" (rownames() and colnames() respectively). For the rownames(), this is an interpolated position, in mm, and for the colnames() this is the width in mm, and always begins at 0. The last dimension always has a length of three, and comprises of the red, green and blue values for each of the pixels. $meta is a table containing selected data from the scan metadata relevant to the image.

itrax_image(file = "CD166_19_S1/CD166_19_S1/optical.tif",
            meta = "CD166_19_S1/CD166_19_S1/document.txt",
              trim = FALSE) %>% 
  str()
## List of 2
##  $ image: num [1:7452, 1:524, 1:3] 0.0706 0.0706 0.0706 0.0784 0.0784 ...
##   ..- attr(*, "dimnames")=List of 3
##   .. ..$ : chr [1:7452] "0.5" "0.688001610522078" "0.876003221044155" "1.06400483156623" ...
##   .. ..$ : chr [1:524] "0" "0.187976382179281" "0.375952764358561" "0.563929146537842" ...
##   .. ..$ : NULL
##  $ meta :'data.frame':   6 obs. of  3 variables:
##   ..$ Parameter: chr [1:6] "Start coordinate" "Stop coordinate" "Step size" "Optical Start" ...
##   ..$ Value    : chr [1:6] "31.5" "1314.1" "1000" "0.5" ...
##   ..$ Unit     : chr [1:6] "mm" "mm" "microns" "mm" ...