paintObjects             package:EBImage             R Documentation

_M_a_r_k_i_n_g _d_e_t_e_c_t_e_d _o_b_j_e_c_t_s _i_n _r_e_f_e_r_e_n_c_e _i_m_a_g_e_s

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

     This function allows to mark objects detected with 'getFeatures'
     or 'watershed' in colour for preview.

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

       ## S4 method for signature 'IndexedImage, Image':
       paintObjects(x, tgt, opac=c(0.4, 0.05, 0.4), col=c("#FFC72C","#5BABF6","#FF372C"), ...)

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

       x: An object of 'IndexedImage' in the 'Grayscale' mode with
          integer-absed object encoding, as returned by 'watershed'. 

     tgt: A reference grayscale image to calculate object intensity.
          Should be 'TrueColor' to produce coloured output. 

    opac: A numeric vector of opacity values for foreground (object
          boundary), object background and edges of object contacts. At
          least 3 values in the above sequence must be supplied.
          Opacity range is '[0,1]' with 0 being fully transparent. 

     col: A character vector of full colours (before opacity applied),
          colour names supported, to draw object boundaries, object
          background and edges of object contacts. At least 3 values
          must be supplied. Default color scheme is yellow for edges,
          blue for background and red for object contacts and object on
          image edges. 

     ...: Reserved. 

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

     A copy of 'tgt' in the same colour mode with objects marked on top
     of the image. 'features' of 'x' are not transfered - this result
     is for visualization only.

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

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

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

     ' IndexedImage, Image, watershed, getFeatures '

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

       ## load images of nuclei (seed points later)
       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)

       ## load images of cells (the ones to segment with propagate)
       f <- paste( system.file(package="EBImage"), "images/Gene1_R.tif", sep="/" )
       xi = readImage(f)
       ## normalize images
       xi = normalize(xi, separate=TRUE)
       ## segment
       mask = thresh(xi, 40, 40, 0.0)
       ## refine segmentation with morphology filters
       mk7 = morphKern(7)
       mask = dilate(erode(closing(mask, mk7), mk5), mk7)
       ## index objects of xi with 'propagate' using ii as seeds
       xo = propagate(xi, io, mask, 1e-5, 1.5)
       
       ## create an RGB preview of a combination of ii and xi
       rgb = channel(ii, "asred") + channel(xi, "asgreen")
       ## paint cells on the preview
       rgb = paintObjects(xo, rgb)
       ## paint nuclei on the preview
       rgb = paintObjects(io, rgb)
       if (interactive()) display(rgb)
       

