getSpatAnnBarcodes.Rd
Extracts the barcodes that are covered by the extent of the annotated structures of interest.
getSpatAnnBarcodes(
object,
ids = NULL,
tags = NULL,
test = "any",
class = NULL,
coords_df = getCoordsDf(object),
simplify = TRUE
)
An object of class SPATA2
or, in case of S4 generics,
objects of classes for which a method has been defined.
Character vector or NULL
. If character, the tags for the image annotation
selection. See section Selection of spatial annotations for more information.
Character value. One of c('any'. 'all', 'identical', 'not_identical', 'none').
Specifies how input for tags
is used to select spatial annotations.
See section Selection of spatial annotations for more information.
Logical. If set to TRUE the output list is simplified to a vector if possible. If set to FALSE a list is returned.
Character vector, if simplify = TRUE
. Else a named list of
character vectors.
Selection of spatial annotations via the arguments ids
, class
, tags
and
test
works in three steps:
First, if ids
is a character it prefilters the annotations by ID and only
the specified ones are submitted to the next steps. If it is NULL
, all
annotations are submitted to the next steps.
Secondd, if class
is a character it filters the annotations remaining
after the first step by their class. If NULL
, the step is skipped.
Third, if tags
is a character it is used in combination with test
to select
from the spatial annotations that remain after the second step based on the meta data
they are tagged with. There are multiple options:
Argument test
set to 'any' or 1: To be included, an image annotation
must be tagged with at least one of the input tags.
Argument test
set to 'all' or 2: To be included, an image annotation
must be tagged with all of the input tags. Can contain tags that are not specified.
Argument test
set to 'identical' or 3: To be included, an image annotation
must be tagged with all of the input tags. Can not be tagged with anything else.
Argument test
set to not_identical or 4: To be included, an image
annotation must not be tagged with the combination of input tags.
Argument test
set to 'none' or 5: To be included, an image annotation
must not contain any of the input tags.
If tags
is NULL
, the step is skipped. Therefore, if ids
, class
and tags
are all NULL, which is the default, all annotations are selected as all subsetting
steps are skipped. Eventually, the remaining spatial annotations are submitted to
whatever the respective function does.
library(SPATA2)
library(tidyverse)
object <- loadExampleObject("UKF313T", process = T, meta = T)
# show all IDs
getSpatAnnIds(object)
bcs_necr_area <- getSpatAnnBarcodes(object, ids = "necrotic_area")
ids_all <- c("necrotic_area", "necrotic_edge", "necrotic_edge2")
bcs_necr_all <- getSpatAnnBarcodes(object, ids = ids_all)
# plot results as proof of principle
coords_df <- getCoordsDfSA(object, ids = ids_all)
coords_df$necr_area <- coords_df$barcodes %in% bcs_necr_area
coords_df$necr_all <- coords_df$barcodes %in% bcs_necr_all
plotSurface(coords_df, "necr_area")
plotSurface(coords_df, "necr_all")
# work with relative location of observations annotations 'rel_loc'
plotSurface(coords_df, color_by = "id") # closest to which annotation?
plotSurface(coords_df, color_by = "rel_loc")
dplyr::filter(coords_df, rel_loc == "core") %>%
plotSurface(object = ., color_by = "id")