Description Usage Arguments Value Examples
Uses Chris Rorden's dcm2nii from
http://www.mccauslandcenter.sc.edu/mricro/mricron/dcm2nii.html to convert
DICOM files to NIfTI format. Should Need run install_dcm2nii
before running.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | dcm2nii(basedir = ".", files = NULL, copy_files = TRUE,
progdir = system.file(package = "dcm2niir"), verbose = TRUE,
dcm2niicmd = c("dcm2niix", "dcm2nii_2009", "dcm2nii"),
merge_files = FALSE, ignore_derived = FALSE, unzip_files = TRUE,
opts = paste0("-9 ", ifelse(ignore_derived, "-i y ", ""),
ifelse(merge_files, " -m y ", ""), paste0(" -v ", as.numeric(verbose)),
" -z y -f %p_%t_%s"), ...)
dcm2nii_par_rec(file = list.files(pattern = "[.](par|PAR)"),
copy_files = TRUE, verbose = TRUE, ...)
dcm2nii_bids_sidecar(basedir, progdir = system.file(package =
"dcm2niir"), dcm2niicmd = c("dcm2niix", "dcm2nii_2009", "dcm2nii"),
...)
fix_sidecar(file)
|
basedir |
(character) directory to get files |
files |
(character) vector of files to segment. Will override
|
copy_files |
(logical) Should files be copied to a temporary directory? |
progdir |
(character) directory of bash scripts, no user input needed unless
binaries were installed elsewhere. Passed to |
verbose |
(logical) print diagnostic printouts |
dcm2niicmd |
(character) either "dcm2niix", "dcm2nii", or "dcm2nii_2009", which
are different versions of dcm2nii. Passed to |
merge_files |
Should files be merged,
passed do |
ignore_derived |
Should derived images be ignored,
passed do |
unzip_files |
if |
opts |
list of arguments to pass to |
... |
arguments to be passed to |
file |
A Par/REC file |
List of result of system
command, names of files before and after
conversion
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | library(utils)
install_dir = tempdir()
sysname = tolower(Sys.info()["sysname"])
cmake = Sys.which("cmake")
if (file.exists(cmake) && sysname == "windows" &&
nzchar(Sys.getenv("APPVEYOR")) && FALSE) {
source_clone_dir = fs::path(Sys.getenv("APPVEYOR_BUILD_FOLDER"),
"inst", "dcm2niix_clone")
install_dcm2nii(
progdir = install_dir,
overwrite = TRUE,
from_source = TRUE,
verbose = 2,
source_clone_dir = source_clone_dir)
} else {
install_dcm2nii(progdir = install_dir)
}
## dcm_file = paste0("ftp://medical.nema.org/medical/Dicom/",
## "DataSets/WG30/MGH/MR/MouseBrainSiemens15T_20150410/",
## "Converted/DICOM/mghmousetoenhancedmr_T1w_pre.dcm")
dcm_file = paste0("http://johnmuschelli.com/dcm2niir/",
"mghmousetoenhancedmr_T1w_pre.dcm")
tdir = tempfile()
dir.create(tdir)
destfile = tempfile(fileext = ".dcm", tmpdir = tdir)
ci = Sys.getenv("CI")
method = ifelse(ci == "", "auto", "curl")
dl = download.file(url = dcm_file, method = method,
destfile = destfile, mode = "wb")
dl == 0
stopifnot(file.exists(destfile))
fs = file.size(destfile)
fs
if (fs <= 2e5) {
dl = download.file(url = dcm_file, destfile = destfile, mode = "wb")
}
fs = file.size(destfile)
fs
stopifnot(fs > 2e5)
list.files(tdir)
dcm2niir::install_dcm2nii(progdir = install_dir)
res = dcm2niir::dcm2nii(basedir = tdir, verbose = 1)
stopifnot(res$result == 0)
res = dcm2niir::dcm2nii(files = destfile, verbose = 1)
destfile = R.utils::gzip(destfile)
res = dcm2niir::dcm2nii(files = destfile, verbose = 1, unzip_files = FALSE)
stopifnot(res$result != 0)
res = dcm2niir::dcm2nii(files = destfile, verbose = 1, unzip_files = TRUE)
stopifnot(res$result == 0)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.