watershed              package:EBImage              R Documentation

_W_a_t_e_r_s_h_e_d _t_r_a_n_s_f_o_r_m_a_t_i_o_n _a_n_d _w_a_t_e_r_s_h_e_d _b_a_s_e_d _o_b_j_e_c_t _d_e_t_e_c_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     Watershed transformation and watershed based object detection.

_U_s_a_g_e:

       ## S4 method for signature 'Image':
       watershed(x, tolerance=1, ext=1, ...)

_A_r_g_u_m_e_n_t_s:

       x: An object of 'Image' in the 'Grayscale' mode. 

tolerance: The minimum height of the object in the units of image
          intensity between its highest point (seed) and the point
          where it contacts another object (checked for every contact
          pixel). If the height is smaller than the tolerance, the
          object will be combined with one of its neighbors, which is
          the highest. It is assumed that the function is run on a
          distance map, therefore the default value is 1. If running
          the function on an original grayscale image with intensity
          range '[0,1]' one should modify this value, down to 0.1 or
          other which is image specific. 

     ext: Extension of the neighborhood for the detection of
          neighboring objects. Higher value smoothes out small objects. 

     ...: Reserved. 

_D_e_t_a_i_l_s:

     The algorithm identifies and separates objects that stand out of
     the background (zero), in other words to use the water fill, the
     source image is flipped upside down and the resulting valleys
     (values with higher intensities) are filled in first until another
     object or background is met. The deepest valleys (pixels with
     highest intensity) become indexed first.

_V_a_l_u_e:

     An object of 'Image' in the 'Grayscale' with separate objects
     indexed be positive integers starting from 1. To preview the
     results visually, use 'display( normalize(result) )' or use it in
     combination with 'paintObjects'.

_A_u_t_h_o_r(_s):

     Oleg Sklyar, osklyar@ebi.ac.uk, 2007

_S_e_e _A_l_s_o:

     ' Image, distmap, thresh, getFeatures, \code{matchObjects} '

_E_x_a_m_p_l_e_s:

       
       ## load images
       f <- paste( system.file(package="EBImage"), "images/Gene1_G.tif", sep="/" )
       ii = readImage(f)
       ## normalize images
       ii = normalize(ii, separate=TRUE)
       ## segment
       mask = thresh(ii, 25, 25, 0.02)
       ## refine segmentation with morphology filters
       mk3 = morphKern(3)
       mk5 = morphKern(5)
       mask = dilate(erode(closing(mask, mk5), mk3), mk5)
       ## index objects with 'watershed'
       io = watershed( distmap(mask), 1.5, 1)
       if (interactive()) display(io)

