bwlabel               package:EBImage               R Documentation

_B_i_n_a_r_y _s_e_g_m_e_n_t_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

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

_U_s_a_g_e:

       bwlabel(x)

_A_r_g_u_m_e_n_t_s:

       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.

_D_e_t_a_i_l_s:

     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'.

_V_a_l_u_e:

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

_A_u_t_h_o_r(_s):

     Gregoire Pau, 2009

_E_x_a_m_p_l_e_s:

       ## 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)')

