Mathworks loves their parallel toolbox. We love using Condor.
I won't go into the reasons.
http://www.cs.wisc.edu/condor/
We have negotiated an unlimited license of for Matlab and I have freesurfer recon-all broken into the three phases. This gives us currently 1700 dedicated cores where we can process brain scans for groups on the Madison, WI campus. We are contractually prevented from running anything but compiled Matlab on any cluster on the UW-Madison campus.
I have had to modify "mris_computer_lgi" to call compiled matlab entry points after setting up a Matlab runtime within the Freesurfer 5.1.0 staged executable.
What I ran into was a type mismatch from the way I now call the matlab functionality.
Is there a known solution for this or do I have to change the matlab entry points to do initial type changing?
We are working on a work flow to not only process the brains but also do FSL and matlab post processing at the same time and/or take preprocessed subjects and do either FSL or Matlab processing.
I automate researchers on campus and don't actually program Matlab though I can work my way through this. As a computer Scientist I don't really want to be changing the code base in an unmanaged way.
*********************************************************************Change in call # # make_outer_surface.m # # create the outer surface from the filled volume set MLF = /tmp/mos"_$$_".m set arg1 = ${tmpdir}/${input}.filled.mgz set arg2 = ${closespheresize} set arg3 = ${tmpdir}/${input}-outer rm -f ${arg3} # bt commented out for converting to compiled echo "Calling compiled matlab make_outer_surface" echo "make_outer_surface('${arg1}',${arg2},'${arg3}')" make_outer_surface ${arg1} ${arg2} ${arg3} #echo "make_outer_surface('${arg1}',${arg2},'${arg3}'); exit" > $MLF #echo "=================" #echo "`cat $MLF`" #echo "=================" #if ($RunIt) then #cat $MLF | ${MATLAB} -display iconic -nojvm -nosplash #endif
********************************************************************* ERROR BELOW
Calling compiled matlab make_outer_surface reading filled volume... closing volume... ??? Error using ==> iptcheckinput Function STREL expected its second input, R, to be one of these types:
double
Instead its type was char.
Error in ==> strel>ParseInputs at 1308
Error in ==> strel>strel.strel at 143
Error in ==> make_outer_surface at 41
^G Images:strel:invalidType
*********************************************************************
freesurfer@nmr.mgh.harvard.edu