params <- list(test = FALSE) ## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(BiocStyle) ## ----warning=FALSE, message=FALSE--------------------------------------------- # load required packages library(simpleSeg) library(ggplot2) library(EBImage) library(cytomapper) ## ----eval = FALSE------------------------------------------------------------- # # Install the package from Bioconductor # if (!requireNamespace("BiocManager", quietly = TRUE)) { # install.packages("BiocManager") # } # # BiocManager::install("simpleSeg") ## ----------------------------------------------------------------------------- # Get path to image directory pathToImages <- system.file("extdata", package = "simpleSeg") # Get directories of images imageDirs <- dir(pathToImages, "Point", full.names = TRUE) names(imageDirs) <- dir(pathToImages, "Point", full.names = FALSE) # Get files in each directory files <- files <- lapply( imageDirs, list.files, pattern = "tif", full.names = TRUE ) # Read files with readImage from EBImage images <- lapply(files, EBImage::readImage, as.is = TRUE) # Convert to cytoImageList images <- cytomapper::CytoImageList(images) mcols(images)$imageID <- names(images) ## ----------------------------------------------------------------------------- masks <- simpleSeg::simpleSeg(images, nucleus = "HH3", transform = "sqrt" ) ## ----------------------------------------------------------------------------- # Visualise segmentation performance one way. EBImage::display(colorLabels(masks[[1]])) ## ----------------------------------------------------------------------------- # Visualise segmentation performance another way. cytomapper::plotPixels( image = images[1], mask = masks[1], img_id = "imageID", colour_by = c("PanKRT", "GLUT1", "HH3", "CD3", "CD20"), display = "single", colour = list( HH3 = c("black", "blue"), CD3 = c("black", "purple"), CD20 = c("black", "green"), GLUT1 = c("black", "red"), PanKRT = c("black", "yellow") ), bcg = list( HH3 = c(0, 1, 1.5), CD3 = c(0, 1, 1.5), CD20 = c(0, 1, 1.5), GLUT1 = c(0, 1, 1.5), PanKRT = c(0, 1, 1.5) ), legend = NULL ) ## ----parallel example--------------------------------------------------------- masks <- simpleSeg::simpleSeg(images, nucleus = "HH3", cores = 1 ) ## ----out.width = "400px"------------------------------------------------------ cellSCE <- cytomapper::measureObjects(masks, images, img_id = "imageID") ## ----------------------------------------------------------------------------- # Transform and normalise the marker expression of each cell type. # Use a square root transform, then trimmed the 99 quantile cellSCE <- normalizeCells(cellSCE, assayIn = "counts", assayOut = "norm", imageID = "imageID", transformation = "sqrt", method = c("trim99", "minMax") ) ## ----fig.width=5, fig.height=5------------------------------------------------ # Extract marker data and bind with information about images df <- as.data.frame(cbind(colData(cellSCE), t(assay(cellSCE, "counts")))) # Plots densities of PanKRT for each image. ggplot(df, aes(x = PanKRT, colour = imageID)) + geom_density() + labs(x = "PanKRT expression") + theme_minimal() ## ----fig.width=5, fig.height=5------------------------------------------------ # Extract normalised marker information. df <- as.data.frame(cbind(colData(cellSCE), t(assay(cellSCE, "norm")))) # Plots densities of normalised PanKRT for each image. ggplot(df, aes(x = PanKRT, colour = imageID)) + geom_density() + labs(x = "PanKRT expression") + theme_minimal() ## ----------------------------------------------------------------------------- sessionInfo()