Searches over the sphere to find a good initialization for further registration refinement, if needed. This is a wrapper for the ANTs function antsAffineInitializer.

affineInitializer(
  fixedImage,
  movingImage,
  searchFactor = 20,
  radianFraction = 0.1,
  usePrincipalAxis = FALSE,
  localSearchIterations = 10,
  mask,
  txfn,
  num_threads = 1
)

Arguments

fixedImage

the fixed reference image

movingImage

the moving image to be mapped to the fixed space

searchFactor

degree of increments on the sphere to search

radianFraction

between zero and one, defines the arc to search over

usePrincipalAxis

boolean to initialize by principal axis

localSearchIterations

gradient descent iterations

mask

optional mask to restrict registration

txfn

filename for the transformation

num_threads

will execute Sys.setenv(ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS = num_threads) before running to attempt a more reproducible result. See https://github.com/ANTsX/ANTs/wiki/antsRegistration-reproducibility-issues for discussion. If NULL, will not set anything.

Value

transformationMatrix

Note

See https://github.com/ANTsX/ANTs/issues/444 for reproducibility discussion

Author

Avants BB

Examples


fi <- antsImageRead(getANTsRData("r16"))
mi <- antsImageRead(getANTsRData("r27"))
tx <- affineInitializer(fi, mi)

mi2 <- resampleImage(mi, c(1.25, 1.25))
tx <- affineInitializer(fi, mi2)
tx2 <- affineInitializer(fi, mi2)