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,
  ...
)

Arguments

...

additional arguments passed to readnii.

outfile

(character) name of resultant filled file

retimg

(logical) return image of class nifti

file

(character) filename of image to be filled

bin

(logical) binarize the image before filling

reorient

(logical) If retimg, should file be reoriented when read in? Passed to readnii.

intern

(logical) pass to system

verbose

(logical) print out command before running

Value

character or logical depending on intern

Note

Functions with underscores have different defaults and will return an output filename, so to be used for piping

Examples

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