Get a binary mask image from the given image after thresholding.

getMask(img, lowThresh, highThresh, cleanup = 2)

Arguments

img

Input image. Can be an antsImage of 2, 3 or 4 dimensions. If img is NULL, a file chooser dialog will appear.

lowThresh

An inclusive lower threshold for voxels to be included in the mask.

highThresh

An inclusive upper threshold for voxels to be included in the mask.

cleanup

If >0, morphological operations will be applied to clean up the mask by eroding away small or weakly-connected areas, and closing holes.

Value

Object of type antsImage containing the mask image. The voxel intensities will be binarized, 1 for voxels in the mask and 0 outside.

Details

If cleanup is >0, the following steps are applied

  1. Erosion with radius 2 voxels

  2. Retain largest component

  3. Dilation with radius 1 voxel

  4. Morphological closing

These functions are available in iMath, see the operations “ME”, “GetLargestComponent”, “MD”, “FillHoles”.

Author

Shrinidhi KL, Cook PA, Avants BB

Examples


img <- ri(1)
mask <- getMask(img)
testthat::expect_error(getMask(img, lowThresh = "hey"))
pixeltype(img) <- "unsigned int"
mask2 <- getMask(img)