EBImageからいくつか関数が消えた

MikuHatsune2014-02-28

EBImageといえばこれだったが、図に文字を描けるdrawtextが使えなくなっていたのでヒートマップにゴリ押しした結果がこちら。

library(EBImage)
# システムファイルからサンプルデータを読み出す。
nuc <- readImage(system.file("images", "nuclei.tif", package="EBImage"))
cel <- readImage(system.file("images", "cells.tif", package="EBImage"))
img <- rgbImage(green=1.5*cel, blue=nuc)
nmask <- thresh(nuc, 10, 10, 0.05)
nmask <- opening(nmask, makeBrush(5, shape="disc"))
nmask <- fillHull(nmask)
nmask <- bwlabel(nmask)
ctmask <- opening(cel>0.1, makeBrush(5, shape="disc"))
cmask <- propagate(cel, nmask, ctmask)
res <- paintObjects(cmask, img, col="#FF00FF")
res <- paintObjects(nmask, res, col="#FFFF00")
# hullFeatures は使えなくなっている。
# computeFeatures.moment で細胞の座標
# computeFeatures.shape  で細胞の体積、というか面積が計算できる。
xy <- computeFeatures.moment(cmask@.Data[,,1])[,c("m.cx", "m.cy")]
labels <- as.character(1:nrow(xy))

cols <- c(grey(seq(1, 0, length=100)))
xlim <- nrow(nuc@.Data)
ylim <- ncol(nuc@.Data)
# ヒートマップでゴリ押し
# 細胞境界はresに入っている。
par(mar=rep(0.5, 4))
image(seq(xlim), seq(ylim), res@.Data[,,2,1], col=cols, xlab="", ylab="", axes=FALSE, frame=FALSE)
text(xy, labels, col="blue", xpd=TRUE)