This function calls fslmaths -fillh
to fill in image holes
and either saves the image or returns an object of class nifti
fsl_fill(..., outfile = tempfile(fileext = ".nii.gz"), retimg = FALSE)
fslfill(
file,
outfile = NULL,
bin = TRUE,
retimg = TRUE,
reorient = FALSE,
intern = FALSE,
verbose = TRUE,
...
)
additional arguments passed to readnii
.
(character) name of resultant filled file
(logical) return image of class nifti
(character) filename of image to be filled
(logical) binarize the image before filling
(logical) If retimg, should file be reoriented when read in?
Passed to readnii
.
(logical) pass to system
(logical) print out command before running
character or logical depending on intern
Functions with underscores have different defaults and will return an output filename, so to be used for piping
if (have.fsl()){
system.time({
dims = c(50, 50, 20)
x = array(rnorm(prod(dims)), dim = dims)
img = nifti(x, dim= dims,
datatype = convert.datatype()$FLOAT32, cal.min = min(x),
cal.max = max(x), pixdim = rep(1, 4))
mask = img > .5
eroded = fslerode(mask, kopts = "-kernel boxv 5", retimg=TRUE)
filled = fslfill(eroded, retimg= TRUE)
})
}
#> fslmaths "/private/var/folders/1s/wrtqcpxn685_zk570bnx9_rr0000gr/T/RtmpKzob0N/file85751a223fbf.nii.gz" -kernel boxv 5 -ero "/var/folders/1s/wrtqcpxn685_zk570bnx9_rr0000gr/T//RtmpKzob0N/file85751d7f7232"
#> fslmaths "/private/var/folders/1s/wrtqcpxn685_zk570bnx9_rr0000gr/T/RtmpKzob0N/file857519c94e12.nii.gz" -bin -fillh "/var/folders/1s/wrtqcpxn685_zk570bnx9_rr0000gr/T//RtmpKzob0N/file85753e872200"
#> user system elapsed
#> 0.345 0.007 0.354