[MINC-users] EMMA replacement?

Andrew Janke a.janke at gmail.com
Sun Aug 2 09:21:49 EDT 2009


On Sat, Aug 1, 2009 at 06:40, EJ Nikelski<nikelski at bic.mni.mcgill.ca> wrote:
>    Thanks Pierre for sharing your views and experiences.  Matlab does
> indeed seem to be the currently reigning champ with regard to
> high-level multi-platform image manipulation software.  Of course,
> most compelling is the fact that it can certainly do the job, as
> evidenced by Pierre's work, as well as by that done by the SPM group.

Agree, Matlab is a nice albeit expensive toy, especially if you decide
to run it on a 1000CPU cluster.

>   Firstly, and quite significantly, IMHO Octave
> is a second class citizen, which simply looks like an inferior Matlab
> wanna-be.  I've been following Octave for years, and its development
> has always been stop-and-go, and the developers really don't seem
> willing to plot their own course. Personally, I would think long and
> hard before hitching my wagon to Octave.

Why so cautious? I use Octave on a daily basis (with NIAK -- thanks
Pierre!) and have not hit any bumps. If things do go wonky just pull
out the chequebook and run your code on MATLAB. The differences for
numerical code (not display/etc) are minimal.

The other advantage of Octave/Matlab that hasn't been discussed is the
ability to transform critical routines to C code by using the API
instead of scripting. Note that as of yet I haven't had to resort to
this as like Jason if I find an nice discrete area than needs
en-fastening I simply write a quick MINC program to achieve the same.

>  But wait, there's more! R can also make use of multiple
> cores, permitting easy parallelization (sp?) of processing (see the
> "doMC" and "foreach" packages).

I wouldn't choose your platform based upon whether it can parallelise
things, I generally find parallel code is an evil thing to debug and
in any case nearly everything I do is "embarrassingly parallel"
meaning 1000 patients on 1000CPUs, certainly makes it easier to
schedule things on a large cluster as you don't have to wait for 10
CPU's to become available to run your magic parallel program. It also
becomes very easy to "game" a shared parallel cluster by making sure
that your jobs can fill in all the spare 1 cores left over from large
parallel jobs that need x CPU's when the cluster has x+4 CPU's.

>  Finally, nobody has addressed the gorilla in the room --- has
> nifti-1 basically already killed minc, making all of this rather
> academic?

Well this conversation for one would say no. There are still a number
of "good things" and "killer features" in MINC that Nifti-1 doesn't
have. Still I don't see them as competitors, they both serve their
purpose, I use Nifti-1 on a weekly basis to transfer data to other
labs, (and thus have to daily deal with L-R issues.....) I am slowly
educating them all but it takes time.... ;)

One thing that hasn't been mentioned in this discussion (yet) and
should be considered is that of the hairy issue of Licensing. Be very
sure that if you are developing something that you hope to (possibly)
use for commercial gain in the future that you figure out what your
responsibilities are.


--
Andrew Janke
(a.janke at gmail.com || http://a.janke.googlepages.com/)
Canberra->Australia    +61 (402) 700 883



More information about the MINC-users mailing list