A local version of joint label fusion that focuses on one or more specific labels. This is primarily different from standard JLF because it performs registration on a per label basis and focuses JLF on the label(s) alone. It requires an initial segmentation of the target region which can be provided either by a manual or automated initialization. Registration by SyN is a good choice for the latter approach.

localJointLabelFusion(
  targetI,
  whichLabels,
  targetMask,
  initialLabel,
  atlasList,
  labelList,
  submaskDilation = 10,
  typeofTransform = "SyN",
  affMetric = "meansquares",
  synMetric = "mattes",
  synSampling = 32,
  regIterations = c(40, 20, 0),
  affIterations,
  localMaskTransform,
  maxLabelPlusOne = FALSE,
  noZeroes = FALSE,
  verbose = FALSE,
  ...
)

Arguments

targetI

antsImage to be labeled

whichLabels

label number(s) from the library on which to focus

targetMask

a mask for the target image (optional), passed to joint fusion

initialLabel

the initial approximate label(s) for the target region.

atlasList

list containing antsImages with intensity images

labelList

list containing antsImages with segmentation labels

submaskDilation

amount to dilate initial mask to define region on which we perform focused registration

typeofTransform

passed to antsRegistration.

affMetric

the metric for the affine part (GC, mattes, meansquares)

synMetric

the metric for the syn part (CC, mattes, meansquares, demons)

synSampling

the nbins or radius parameter for the syn metric

regIterations

vector of iterations for syn. we will set the smoothing and multi-resolution parameters based on the length of this vector. passed to antsRegistration.

affIterations

vector of iterations for low-dimensional transforms.

localMaskTransform

type of transform for local mask initialization; would usually set to Rigid, Similarity or Affine

maxLabelPlusOne

boolean this will add max label plus one to the non-zero parts of each label where the target mask is greater than one. NOTE: this will have a side effect of adding to the original label images that are passed to the program. It also guarantees that every position in the labels have some label, rather than none. Ie it guarantees to explicitly parcellate the input data.

noZeroes

boolean will zero out target mask regions that have any zero label. this prevents JLF from computing a solution in regions not covered by the initial library.

verbose

boolean

...

extra parameters passed to JLF

Value

label probabilities and segmentations

Author

Brian B. Avants