Check If An Object Is Within Frame

This function tests whether an object (defined as nonzero pixels in a mask) falls completely within the bounds of an image, or if it touches the edge.

plantcv.within_frame(mask, border_width=1, label=None)

returns in_bounds

  • Parameters:

    • mask - a single channel image (i.e. binary or greyscale)
    • border_width - distance from border of image considered out of frame (default = 1)
    • label - Optional label parameter, modifies the variable name of observations recorded. (default = pcv.params.sample_label)
  • Context:

    • This function could be used to test whether the plant has grown outside the field of view.
  • Output data stored: Data ('in_bounds') automatically gets stored to the Outputs class when this function is ran. These data can always get accessed during a workflow. For more detail about data output see Summary of Output Observations

  • Example use:

from plantcv import plantcv as pcv      

img, path, img_filename = pcv.readimage(filename="home/user/images/test-image.tif")
gray_img = pcv.rgb2gray_lab(rgb_img=img, channel='a')
mask = pcv.threshold.binary(gray_img=gray_img, threshold=36, object_type='light')
in_bounds = pcv.within_frame(mask=mask)  #True or False?

Source Code: Here