ants_to_template <- function(dim = 0, fixed_img = "", moving_img = "", timeseries_img = "", max_iterations = "30x90x20") {
if (dim == 0) {
print(" Problem with specified image-dimension ")
print(" USAGE :: ")
print(" ants_to_template(dim=<image-dimension>,fixed_img=<fixed-image>,moving_img=<moving-image>,timeseries_img=<time-series-image>,[max_iterations=<max-iterations>")
print(" Max-Iterations in form : JxKxL where ")
print(" J = max iterations at coarsest resolution (here, reduce by power of 2^2) ")
print(" K = middle resolution iterations ( here, reduce by power of 2 ) ")
print(" L = fine resolution iterations ( here, full resolution ) -- this level takes much more time per iteration ")
print(" an extra Ix before JxKxL would add another level ")
print(" Default max-iterations is ", max_iterations, " --you can often get away with fewer for many apps ")
print(" Other parameters are updates of the defaults used in the A. Klein evaluation paper in Neuroimage, 2009 ")
return
}
if (nchar(fixed_img) == 0) {
print(" Problem with specified Fixed Image ")
print(" USAGE :: ")
print(" ants_to_template(dim=<image-dimension>,fixed_img=<fixed-image>,moving_img=<moving-image>,timeseries_img=<time-series-image>,[max_iterations=<max-iterations>")
print(" Max-Iterations in form : JxKxL where ")
print(" J = max iterations at coarsest resolution (here, reduce by power of 2^2) ")
print(" K = middle resolution iterations ( here, reduce by power of 2 ) ")
print(" L = fine resolution iterations ( here, full resolution ) -- this level takes much more time per iteration ")
print(" an extra Ix before JxKxL would add another level ")
print(" Default max-iterations is ", max_iterations, " --you can often get away with fewer for many apps ")
print(" Other parameters are updates of the defaults used in the A. Klein evaluation paper in Neuroimage, 2009 ")
return
}
if (nchar(moving_img) == 0) {
print(" Problem with specified Moving Image ")
print(" USAGE :: ")
print(" ants_to_template(dim=<image-dimension>,fixed_img=<fixed-image>,moving_img=<moving-image>,timeseries_img=<time-series-image>,[max_iterations=<max-iterations>")
print(" Max-Iterations in form : JxKxL where ")
print(" J = max iterations at coarsest resolution (here, reduce by power of 2^2) ")
print(" K = middle resolution iterations ( here, reduce by power of 2 ) ")
print(" L = fine resolution iterations ( here, full resolution ) -- this level takes much more time per iteration ")
print(" an extra Ix before JxKxL would add another level ")
print(" Default max-iterations is ", max_iterations, " --you can often get away with fewer for many apps ")
print(" Other parameters are updates of the defaults used in the A. Klein evaluation paper in Neuroimage, 2009 ")
return
}
if (nchar(timeseries_img) == 0) {
print(" Problem with specified TimeSeries Image ")
print(" USAGE :: ")
print(" ants_to_template(dim=<image-dimension>,fixed_img=<fixed-image>,moving_img=<moving-image>,timeseries_img=<time-series-image>,[max_iterations=<max-iterations>")
print(" Max-Iterations in form : JxKxL where ")
print(" J = max iterations at coarsest resolution (here, reduce by power of 2^2) ")
print(" K = middle resolution iterations ( here, reduce by power of 2 ) ")
print(" L = fine resolution iterations ( here, full resolution ) -- this level takes much more time per iteration ")
print(" an extra Ix before JxKxL would add another level ")
print(" Default max-iterations is ", max_iterations, " --you can often get away with fewer for many apps ")
print(" Other parameters are updates of the defaults used in the A. Klein evaluation paper in Neuroimage, 2009 ")
return
}
# split the string into filename and extension
split_img <- strsplit(timeseries_img, ".", fixed = TRUE)[[1]]
filename <- split_img[1]
if (length(split_img) == 2) {
extension <- paste("", split_img[2], sep = ".")
} else if (length(split_img) == 3) {
extension <- paste("", split_img[2], split_img[3], sep = ".")
}
ANTS(dim, "-m", paste("CC[", paste(fixed_img, moving_img, 1, 3, sep = ","), "]", sep = ""), "-t", "SyN[0.25]",
"-r", "Gauss[3,0]", "-o", filename, "--use-Histogram-Matching", "-i", max_iterations, "--number-of-affine-iterations",
"10000x10000x1000")
deformed_img <- paste(filename, "deformed", extension, sep = "")
warp_img <- paste(filename, "Warp", extension, sep = "")
affine_txt <- paste(filename, "Affine", ".txt", sep = "")
WarpTimeSeriesImageMultiTransform(4, moving_img, deformed_img, warp_img, affine_txt, "-R", fixed_img)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.