getNeighborhoodInMask: Get neighborhoods for voxels within mask

Description Usage Arguments Details Value Author(s) Examples

Description

this converts a scalar image to a matrix with rows that contain neighbors around a center voxel

Usage

1
2
3
getNeighborhoodInMask(image, mask, radius, physical.coordinates = FALSE,
  boundary.condition = "NA", spatial.info = FALSE,
  get.gradient = FALSE)

Arguments

image

image object of S4 class antsImage to get values from.

mask

image object of S4 class antsImage indicating which voxels to examine. Each voxel > 0 will be used as the center of a neighborhood

radius

array of values for neighborhood radius (in voxels)

physical.coordinates

logical indicating if voxel indices and offsets should be in voxel or physical coordinates

boundary.condition

string indicating how to handle voxels in a neighborhood, but not in the mask. See Details.

spatial.info

a boolean indicating of voxel locations and neighborhood offsets should be returned along with pixel values.

get.gradient

a boolean indicating if a matrix of gradients (at the center voxel) should be returned in addition to the value matrix (WIP)

Details

boundary.condition should be one of:

Value

if spatial.info is false: a matrix of pixel values where the number of rows is the size of the neighborhood and there is a column for each voxel

if spatial.info is true, a list containing three matrices:

Author(s)

Duda JT

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
r16 <- getANTsRData("r16")
r16 <- antsImageRead(r16,2)
mask <- getMask(r16,lowThresh=mean(r16),cleanup=1)
radius <- rep(2,2)
mat <- getNeighborhoodInMask(r16,mask,radius)
mat <- getNeighborhoodInMask(r16,mask,radius,
boundary.condition ="image")
mat <- getNeighborhoodInMask(r16,mask,radius,
boundary.condition ="mean") 
randlist <- getNeighborhoodInMask(r16,mask,radius,
physical.coordinates = TRUE)
arr = as.array(r16)
testthat::expect_error(getNeighborhoodInMask(arr,mask,radius), "antsImage")
testthat::expect_error(getNeighborhoodInMask(r16,as.numeric(mask),radius), 
"mask must be")
testthat::expect_error(getNeighborhoodInMask(r16,mask,as.character(radius)), 
"radius must be")
# testthat::expect_error(getNeighborhoodInMask(r16,mask,c(radius, 3)),
# "Radius must") 

muschellij2/atropos documentation built on May 4, 2019, 3:17 p.m.