Open tombishop1 opened 1 year ago
mySidewaysImage1 <- aperm(CD166_19_S1$image$image, c(2,1,3))[, dim(aperm(CD166_19_S1$image$image, c(2,1,3)))[2]:1, ]
mySidewaysRadio1 <- t(CD166_19_S1$radiograph$image)[, dim(t(CD166_19_S1$radiograph$image))[2]:1]
mySidewaysImage2 <- aperm(CD166_19_S2$image$image, c(2,1,3))[, dim(aperm(CD166_19_S2$image$image, c(2,1,3)))[2]:1, ]
mySidewaysRadio2 <- t(CD166_19_S2$radiograph$image)[, dim(t(CD166_19_S2$radiograph$image))[2]:1]
mySidewaysImage3 <- aperm(CD166_19_S3$image$image, c(2,1,3))[, dim(aperm(CD166_19_S3$image$image, c(2,1,3)))[2]:1, ]
mySidewaysRadio3 <- t(CD166_19_S3$radiograph$image)[, dim(t(CD166_19_S3$radiograph$image))[2]:1]
Segs <- left_join(CD166_19_xrf,
tibble(uid = CD166_19_xrf_acomp %>%
rownames(),
group = dist(CD166_19_xrf_acomp) %>%
hclust(method = "ward.D2") %>%
cutree(k = 5) %>%
as.factor()
),
by = "uid"
)
ggplot() +
scale_x_reverse(limits = rev(range(as.numeric(CD166_19_xrf$depth)))) +
scale_y_continuous(breaks = round(range(as.numeric(row.names(mySidewaysImage1))), 0),
limits = range(as.numeric(row.names(mySidewaysImage1)))) +
labs(y = "[mm]", x = "Position [mm]") +
annotation_custom(rasterGrob(mySidewaysImage1,
width = unit(1, "npc"),
height = unit(1, "npc")),
xmax = max(rev(range(CD166_19_S1$xrf$depth)/-1)),
xmin = min(rev(range(CD166_19_S1$xrf$depth)/-1)),
ymin = min(as.numeric(row.names(mySidewaysImage1))),
ymax = max(as.numeric(row.names(mySidewaysImage1)))
) +
annotation_custom(rasterGrob(mySidewaysRadio1,
width = unit(1, "npc"),
height = unit(1, "npc")),
xmax = max(rev(range(CD166_19_S1$xrf$depth)/-1)),
xmin = min(rev(range(CD166_19_S1$xrf$depth)/-1)),
ymin = mean(as.numeric(row.names(mySidewaysImage1))) - mean(as.numeric(row.names(mySidewaysRadio1))),
ymax = mean(as.numeric(row.names(mySidewaysImage1))) + mean(as.numeric(row.names(mySidewaysRadio1)))
) +
annotation_custom(rasterGrob(mySidewaysImage2,
width = unit(1, "npc"),
height = unit(1, "npc")),
xmax = max(rev(range(CD166_19_S2$xrf$depth)/-1)),
xmin = min(rev(range(CD166_19_S2$xrf$depth)/-1)),
ymin = min(as.numeric(row.names(mySidewaysImage2))),
ymax = max(as.numeric(row.names(mySidewaysImage2)))
) +
annotation_custom(rasterGrob(mySidewaysRadio2,
width = unit(1, "npc"),
height = unit(1, "npc")),
xmax = max(rev(range(CD166_19_S2$xrf$depth)/-1)),
xmin = min(rev(range(CD166_19_S2$xrf$depth)/-1)),
ymin = mean(as.numeric(row.names(mySidewaysImage1))) - mean(as.numeric(row.names(mySidewaysRadio1))),
ymax = mean(as.numeric(row.names(mySidewaysImage1))) + mean(as.numeric(row.names(mySidewaysRadio1)))
) +
annotation_custom(rasterGrob(mySidewaysImage3,
width = unit(1, "npc"),
height = unit(1, "npc")),
xmax = max(rev(range(CD166_19_S3$xrf$depth)/-1)),
xmin = min(rev(range(CD166_19_S3$xrf$depth)/-1)),
ymin = min(as.numeric(row.names(mySidewaysImage3))),
ymax = max(as.numeric(row.names(mySidewaysImage3)))
) +
annotation_custom(rasterGrob(mySidewaysRadio3,
width = unit(1, "npc"),
height = unit(1, "npc")),
xmax = max(rev(range(CD166_19_S3$xrf$depth)/-1)),
xmin = min(rev(range(CD166_19_S3$xrf$depth)/-1)),
ymin = mean(as.numeric(row.names(mySidewaysImage3))) - mean(as.numeric(row.names(mySidewaysRadio3))),
ymax = mean(as.numeric(row.names(mySidewaysImage3))) + mean(as.numeric(row.names(mySidewaysRadio3)))
) +
geom_tile(data = Segs, aes(x = depth, y = 98/2, height = 98, fill = group), alpha = 0.25) #+
theme(axis.title.y = element_blank(),
axis.text.y = element_blank(),
axis.ticks.y = element_blank(),
axis.title.x = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank())
rm(mySidewaysImage1, mySidewaysImage2, mySidewaysImage3, mySidewaysRadio1, mySidewaysRadio2, mySidewaysRadio3)
rm(Segs)