2.4 Radiographic Images

The function itraxR::itrax_radio() imports the processed radiographic images (*.tif) in a very similar way to that for the optical images, the main difference being the matrix only has two dimensions (length and width) as the image is greyscale.

itrax_radiograph(file = "CD166_19_S1/CD166_19_S1_RAD/radiograph0.tif",
                 meta = "CD166_19_S1/CD166_19_S1_RAD/document.txt") %>%
  str()
## List of 2
##  $ image: num [1:6570, 1:67] 1 1 0.755 0.686 0.755 ...
##   ..- attr(*, "dimnames")=List of 2
##   .. ..$ : chr [1:6570] "0" "0.200045669051606" "0.400091338103212" "0.600137007154818" ...
##   .. ..$ : chr [1:67] "0" "0.200015220700152" "0.400030441400304" "0.600045662100457" ...
##  $ meta :'data.frame':   10 obs. of  3 variables:
##   ..$ Parameter: chr [1:10] "Start coordinate" "Stop coordinate" "Step size" "Optical Start" ...
##   ..$ Value    : chr [1:10] "0.0" "1314.1" "200" "0.5" ...
##   ..$ Unit     : chr [1:10] "mm" "mm" "microns" "mm" ...

However, if there is a desire to manipulate the raw data from the radiographic image, some further work is required because the “pixel” is not square, but rectangular; that is to say the length of the pixel differs from its width. On the core scanner a single pixel has a width across the core of 20 μm, but has a variable coverage along the core (usually between 50 and 200 μm). The processed image downscales the pixel width to match the pixel length in order to force square pixels, losing some resolution along the way.

In addition, it should be noted that unlike the optical images that always begin from position == 0, the radiographic images have defined start and end points just like an XRF scan, the parameters of which can be accessed from the $meta object, or using itraxR::itrax_meta().