R/copy_ms_data.R

#' @title Copy MS Data to an output directory
#'
#' @description Copies files from MS Lesion Package to an output directory
#' @param outdir Output directory for data
#' @param ... Arguments to pass to \code{\link{get_image_filenames}}
#' @return Logical if files are copied
#' @export
copy_ms_data = function(outdir, ...){
  niis = get_image_filenames(...)
  stopifnot(length(niis) > 0)
  ### get just the filenames
  
  k21_file = system.file(package = "ms.lesion")
  stubs = gsub(k21_file, "", niis, fixed = TRUE)
  stubs = gsub("^/", "", stubs)
  
  #################################################
  # Make output directories
  #################################################  
  alldirs = file.path(outdir, dirname(stubs))
  dirs = unique(alldirs)
  direxists = file.exists(dirs)
  mkdirs = dirs[!direxists]
  if (length(mkdirs) > 0) {
    sapply(mkdirs, dir.create, recursive = TRUE)
  }

  for (ifile in seq_along(niis)) {
    nii = niis[ifile]
    file.copy(nii, 
              to = alldirs[ifile], 
              recursive = TRUE)
  }
  return(TRUE)
}
muschellij2/ms.lesion documentation built on June 13, 2019, 12:55 a.m.