The data that will be used to showcase the function is a tissue-CyCIF PDAC dataset from Lin et al. The preprocessing begins by adding manual annotations for each cell’s location in the tissue sample.
data("pdacData")
pdacData$cellID <- paste0('cell_', 1:nrow(pdacData))
pdacData$Yt <- -pdacData$Yt
pancreas_frames = c(1:6, 27:31, 15:19, 40:44)
PDAC_frames = c(23:26, 35:37, 51:52, 64:65, 77)
small_intestines_frames = c(49:50, 63, 75:76, 88:89, 100:103, 112:116, 125:129, 137:140)
annotateLocation <- function(frame){
if (frame %in% pancreas_frames){return("Pancreas")}
if (frame %in% PDAC_frames){return("PDAC")}
if (frame %in% small_intestines_frames){return("Small Intestine")}
return("Other")
}
pdacData$location <- sapply(pdacData$frame, annotateLocation)
head(pdacData[, c('Xt', 'Yt', 'location', 'frame')])
#> Xt Yt location frame
#> 1 1342.878 -801.154 Pancreas 1
#> 2 5688.494 -1391.393 Pancreas 4
#> 3 6295.826 -1393.807 Pancreas 4
#> 4 5344.257 -1391.650 Pancreas 4
#> 5 5640.034 -1391.416 Pancreas 4
#> 6 5923.357 -1390.776 Pancreas 4
scatterHatch()
must have a data frame passed to it,
along with three strings denoting the columns with the x/y coordinates
and a factor variable of each point being plotted. The factor variable
identifies the group each point is a part of.
scatterHatch()
returns a ggplot2 object with three layers;
the points, the line segments (the hatching), and an invisible custom
geom to render the legend icons.