EBImage单元分割,将分割多边形保存到空间多边形

时间:2018-11-19 23:41:52

标签: image-processing spatial sp

因此,我试图将EBImage输出连接到“ sp”包中以创建自定义形状文件(或SpatialPolygonDataFrame对象)。   使用EBImage的演示示例进行细胞分割,我试图将多边形分割输出到“ SpatialPolygonDataFrame”中。

棘手的部分是EBImage为我创建了多边形并将其存储到一个大数组中。    如何使用此多边形信息/分段并使用此示例数据创建“ SpatialPolygonDataFrame”?

EBImage分割具有用于4张图像的510X510 RGB阵列。分割将创建所需的多边形边界。可以在包“ sp”中将此多边形边界用作形状文件进行空间分析吗?

nuc = readImage(system.file('images', 'nuclei.tif', 
package='EBImage'))
cel = readImage(system.file('images', 'cells.tif', 
package='EBImage'))
cells = rgbImage(green=1.5*cel, blue=nuc)
display(cells, all = TRUE)
 nmask = thresh(nuc, w=10, h=10, offset=0.05)
nmask = opening(nmask, makeBrush(5, shape='disc'))
nmask = fillHull(nmask)
nmask = bwlabel(nmask)
display(nmask, all=TRUE)
ctmask = opening(cel>0.1, makeBrush(5, shape='disc'))
cmask = propagate(cel, seeds=nmask, mask=ctmask)
display(ctmask, all=TRUE)
segmented = paintObjects(cmask, cells, col='#ff00ff')
segmented = paintObjects(nmask, segmented, col='#ffff00')
display(segmented, all=TRUE)

> segmented 
Image 
  colorMode    : Color 
  storage.mode : double 
  dim          : 510 510 3 4 
  frames.total : 12 
  frames.render: 4 
imageData(object)[1:5,1:6,1,1]
 [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    0    0    0    1    0    0
[2,]    0    0    0    1    0    0
[3,]    0    0    0    0    1    0
[4,]    0    0    0    0    0    1
[5,]    0    0    0    0    0    1

dim(imageData(segmented))
510 510   3   4

0 个答案:

没有答案