Get Cluster of certain size from spm_bwlabel

spm_bwlabel(infile, outfile = NULL, retimg = TRUE, k = NULL,
  topN = NULL, margin = NULL, binary = TRUE,
  spmdir = spm_dir(verbose = verbose, install_dir = install_dir),
  reorient = FALSE, verbose = TRUE, install_dir = NULL)

Arguments

infile

input filename

outfile

output filename

retimg

Return the image instead of matlab output

k

Minimum cluster size needed

topN

Top number of clusters kept (used if k is NULL)

margin

Margin to loop over if wanted in 2D

binary

(logical) Should the result be binary or numbered with cluster.

spmdir

SPM directory (for MATLAB)

reorient

If retimg, then this argument is passed to readNIfTI

verbose

Print Diagnostics

install_dir

directory to download SPM12

Value

Output from run_matlab_script or nifti object, depending on retimg

Result from run_matlab_script

Note

Taken from http://en.wikibooks.org/wiki/SPM/How-to#How_to_remove_clusters_under_a_certain_size_in_a_binary_mask.3F

Examples

if (matlabr::have_matlab()) { 
d = rep(25, 3)
arr = array(rbinom(prod(d), size = 1, prob = 0.5), dim = d)
nim = oro.nifti::nifti(arr)
res = spm_bwlabel(nim, k = 1, binary = FALSE)
tab = table(c(res))
tab
out_arr = as(res, "array")
}