A C code is available here,
The usage is:
mimecs [options] input_M1_volume atlas_M1_volume atlas_M2_volume output_M2_volume input_TOADS_memberships atlas_TOADS_memberships -v :verbose output (default) -C :Option to choose what and how many TOADS memberships to use 0 -> no membership is used, only intensities, atlas and subject TOADS membership volumes are not required 1 -> choose CSF, GM and WM memberships 2 -> caudate, putamen and thalamus memberships 3 -> CSF,GM,WM,ventricles,caudate,thalamus,putamen memberships -q :quiet output -P ###:patch size (default=3x3x3) -l # :lambda, smoothing of the compressed sensing(CS) (0.0-0.5), default 0.01 -t # :noise threshold (default=0.0) -e # :CS error tolerance (default=0.00001) -N # :Number of atlas patches to be chosen (100-500), default 200 -m # :Maximum number of iteration for convergence, default 0, 0 implies iteration till convergence by -e option -c # :Number of cores used (default 2) -p ## :atlas and subject WHITE MATTER peaks (mandatory) Input and atlas files must be NIFTI in FLOAT32 little-endian format output is written as RAW FLOAT32, little endian. TOADS memberships should be 10 object memberships.
If -C 0 is used, input_TOADS_memberships and atlas_TOADS_memberships are not required.
./mimecs_v6 -C 0 -c 4 -P 3 3 3 -p 1534 1068 as11_spgr.nii go03_spgr.nii go03_mprage.nii as11_spgr_333.raw
TOADS memberships are obtained from TOADS2008 using full segmentation as the output. It should be a 4D volume having 11 components, as par the following atlas file,
Use -C 0 and -c 4 on stymie/putter to get the fastest result (~10hrs on a 256x256x199 volume).
It needs the following libraries, PGCVS, PGVOL, PGUTIL, NLOPT.
All of them are available in