| stackObjects {EBImage} | R Documentation |
Places detected objects into an image stack.
stackObjects(x, ref, index, combine=TRUE, rotate, bg.col='black', ext, centerby, rotateby)
x |
An |
ref |
An |
combine |
If |
bg.col |
Background pixel color. |
ext |
A numeric controlling the size of the output simage.
If missing, |
index, rotate, centerby, rotateby |
Deprecated. |
stackObjects creates a set of nbobj images of size
(2*ext+1, 2*ext+1), where nbobj is the number of objects
in x, and places each object of x in this set.
If not specified, ext is estimated using the 95% quantile of
2*sqrt(g.l1), where g.l1 is the semi-major axis
descriptor extracted from hullFeatures, taken over
all the objects of the image x.
An Image object containing the stacked objects contained in
x. If x contains multiple images and if combine
is TRUE, stackObjects returns a list of Image
objects.
Oleg Sklyar, osklyar@ebi.ac.uk, 2006-2007
## simple example
x = readImage(system.file('images', 'shapes.png', package='EBImage'))
x = x[110:512,1:130]
y = bwlabel(x)
if (interactive()) display(normalize(y), title='Objects')
z = stackObjects(y, normalize(y))
if (interactive()) display(z, title='Stacked objects')
## load images
nuc = readImage(system.file('images', 'nuclei.tif', package='EBImage'))
cel = readImage(system.file('images', 'cells.tif', package='EBImage'))
img = rgbImage(green=cel, blue=nuc)
if (interactive()) display(img, title='Cells')
## segment nuclei
nmask = thresh(nuc, 10, 10, 0.05)
nmask = opening(nmask, makeBrush(5, shape='disc'))
nmask = fillHull(bwlabel(nmask))
## segment cells, using propagate and nuclei as 'seeds'
ctmask = opening(cel>0.1, makeBrush(5, shape='disc'))
cmask = propagate(cel, nmask, ctmask)
## using paintObjects to highlight objects
res = paintObjects(cmask, img, col='#ff00ff')
res = paintObjects(nmask, res, col='#ffff00')
if (interactive()) display(res, title='Segmented cells')
## stacked cells
st = stackObjects(cmask, img)
if (interactive()) display(st, title='Stacked objects')