Nothing
## ----setup, include = FALSE---------------------------------------------------
if (utils::packageVersion("knitr") >= "1.20.15") {
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7, fig.height = 6,
tidy = "styler"
)
} else {
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7, fig.height = 6
)
}
library(magrittr)
apply_on_pillars <- function(arr3d, FUN) {
if (length(dim(arr3d)) == 4 && dim(arr3d)[3] == 1) arr3d %<>% {.[, , 1, ]}
apply(arr3d, c(1, 2), FUN) %>% {
if (length(dim(.)) == 3) {
aperm(., c(2, 3, 1))
} else {
.
}
}
}
## ----50-tif-------------------------------------------------------------------
img <- ijtiff::read_tif(system.file("extdata", "50.tif",
package = "autothresholdr"))
dim(img)
## ----first-3-frames, fig.height=2, echo=FALSE---------------------------------
first3 <- matrix(max(img), ncol = 3 * dim(img)[2] + 2, nrow = dim(img)[1])
for (i in 1:3) {
first3[, (i - 1) * dim(img)[2] + i + seq_len(dim(img)[2]) - 1] <-
img[, , 1, i]
}
ijtiff::display(first3)
## ----last-3-frames, fig.height=2, echo=FALSE----------------------------------
last3 <- matrix(max(img), ncol = 3 * dim(img)[2] + 2, nrow = dim(img)[1])
for (i in 1:3) {
last3[, (i - 1) * dim(img)[2] + i + seq_len(dim(img)[2]) - 1] <-
img[, , 1, dim(img)[4] - (i - 1)]
}
ijtiff::display(last3)
## ----naive--------------------------------------------------------------------
library(autothresholdr)
naiively_threshed_img <- apply_mask(img, "tri")
attr(naiively_threshed_img, "thresh") # The threshold chosen by "Triangle" is 4
## ----naiive-first-3-frames, fig.height=2, echo=FALSE--------------------------
first3 <- matrix(max(naiively_threshed_img), ncol = 3 * dim(naiively_threshed_img)[2] + 2, nrow = dim(naiively_threshed_img)[1])
for (i in 1:3) {
first3[, (i - 1) * dim(naiively_threshed_img)[2] + i + seq_len(dim(naiively_threshed_img)[2]) - 1] <-
naiively_threshed_img[, , 1, i]
}
ijtiff::display(first3)
## ----naiive-last-3-frames, fig.height=2, echo=FALSE---------------------------
last3 <- matrix(max(naiively_threshed_img), ncol = 3 * dim(naiively_threshed_img)[2] + 2, nrow = dim(naiively_threshed_img)[1])
for (i in 1:3) {
last3[, (i - 1) * dim(naiively_threshed_img)[2] + i + seq_len(dim(naiively_threshed_img)[2]) - 1] <-
naiively_threshed_img[, , 1, dim(naiively_threshed_img)[4] - (i - 1)]
}
ijtiff::display(last3)
## ----sometimes-sometimes-not, echo=FALSE--------------------------------------
naiively_threshed_img %>%
apply_on_pillars(function(x) {
(sum(is.na(x)) > 0) && (sum(is.na(x)) < length(x))}) %>%
ijtiff::display()
## ----stack-threshs------------------------------------------------------------
ijtiff::display(mean_stack_thresh(img, "tri"))
ijtiff::display(med_stack_thresh(img, "tri"))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.