library(knitr) options(EBImage.display = "raster")
library(cytoplot) library(dplyr) library(magrittr) library(purrr)
The minimal set of columns are:
ljosa2013 %>% slice(1:5) %>% select(Metadata_Plate, Metadata_Well, Metadata_Site, Metadata_pert_id, matches("URL")) %>% knitr::kable()
Compute robust maximum intensity per channel to normalize the intensities (otherwise the images appear too dim).
# B02 is DMSO max_intensity <- ljosa2013 %>% filter(Metadata_Plate %in% c("Week1_22123", "Week1_22141", "Week1_22161") & Metadata_Well == "B02") %>% group_by(Metadata_Plate) %>% arrange(Metadata_Well, Metadata_Site) %>% slice(1:4) %>% ungroup() %>% sample_max_intensity()
Select images from a single well
df <- ljosa2013 %>% filter(Metadata_Plate == "Week1_22123" & Metadata_Well %in% c("B03", "B04")) df %>% select(Metadata_Plate, Metadata_Well, Metadata_Site, Metadata_Compound, Metadata_Concentration) %>% arrange(Metadata_Plate, Metadata_Well, Metadata_Site) %>% knitr::kable()
Save image montage per well
images <- df %>% save_images(per_row = 2, max_intensity = max_intensity)
View one of the montages:
print(images$Week1_22123_B03) EBImage::rgbImage( images$Week1_22123_B03$Actin %>% EBImage::readImage(), images$Week1_22123_B03$Tubulin %>% EBImage::readImage(), images$Week1_22123_B03$DAPI %>% EBImage::readImage()) %>% EBImage::display() images %>% flatten() %>% walk(file.remove)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.