bwlabel {EBImage} | R Documentation

## Binary segmentation

### Description

Labels connected (connected sets) objects in a binary image.

### Usage

      bwlabel(x)

### Arguments

`x` | An `Image` object or an array. `x` is considered as a binary image, whose pixels of value 0 are considered as background ones and other pixels as foreground ones.

### Details

All pixels for each connected set of foreground (non-zero) pixels in `x` are set to an unique increasing integer, starting from 1. Hence, `max(x)` gives the number of connected objects in `x`.

### Value

An `Grayscale` `Image` object or an array, containing the labelled version of `x`.

### Author(s)

Gregoire Pau, 2009

### Examples

      ## simple example
      x = readImage(system.file('images', 'shapes.png', package='EBImage'))
      x = x[110:512,1:130]
      if (interactive()) display(x, title='Binary')
      y = bwlabel(x)
      if (interactive()) display(normalize(y), title='Segmented')

      ## read nuclei images
      x = readImage(system.file('images', 'nuclei.tif', package='EBImage'))
      if (interactive()) display(x)

      ## computes binary mask
      y = thresh(x, 10, 10, 0.05)
      y = opening(y, makeBrush(5, shape='disc'))
      if (interactive()) display(y, title='Cell nuclei binary mask')

      ## bwlabel
      z = bwlabel(y)
      if (interactive()) display(normalize(z), title='Cell nuclei')
      nbnuclei = apply(z, 3, max)
      cat('Number of nuclei=', paste(nbnuclei, collapse=','),'\n')

      ## recolor nuclei in colors
      cols = c('black', sample(rainbow(max(z))))
      zrainbow = Image(cols[1+z], dim=dim(z))
      if (interactive()) display(zrainbow, title='Cell nuclei (recolored)')

[Package EBImage version 3.0.5 Index]