affineInitializer.RdSearches 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 )
| 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
|
transformationMatrix
See https://github.com/ANTsX/ANTs/issues/444 for reproducibility discussion
Avants BB
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 ) if ('R.matlab' %in% installed.packages()) { tx_hdr = R.matlab::readMat(tx) trans = tx_hdr$AffineTransform.double.2.2 fixed = tx_hdr$fixed tx2_hdr = R.matlab::readMat(tx2) trans2 = tx2_hdr$AffineTransform.double.2.2 fixed2 = tx2_hdr$fixed testthat::expect_equal(tx_hdr, tx2_hdr) }