That being said, I think there might be some very interesting opportunities here for talented developers. When I worked in the field a few years ago, the software used for this stuff was generally a lot of MATLAB scripts with C subroutines held together by some scripting language duct tape (Python/Bash). It was slow, it was buggy, we were basically writing documentation as we figured it out ourselves, different labs had different methods and scripts and in general it was kind of a mess. It's actually bad enough that there are research grants out there to develop better analysis software. Most of the researchers are trained in statistics, neuroscience, and psychology but have very little programming experience. If you are interested in some of the software that is out there right now, below is a partial list. Also, if you are interested in this kind of research but can't contribute code-wise, contact your local research university. They are always looking for test subjects for this kind of stuff, you usually get paid pretty well ($50-100/hour for imaging studies) and you get some cool images of your own brain out of it if you ask.
- It's impossible to implement the algorithms for fMRI data analysis efficiently in most "dynamic" programming languages due to the performance hit you take from using a dynamic language. (It might actually be possible in Julia, NumPyPy, Python with Numba, but these languages are not yet well-established.) On the other hand, dynamic programming languages are much better suited to exploratory data analysis than C is, so essentially all fMRI data analysis ends up being a mixture of C code and glue code in some other language. In this regard, I don't think SPM (MATLAB with C MEX files) is really that bad. It's fast and it avoids having to read the data from disk multiple times.
- People use what the tools they know, not the tools that are best for the job. FreeSurfer is a mess of C, C shell, and Tcl/Tk, but there's nothing else that can visualize fMRI data with comparable ease and accuracy. Most people in neuroimaging only know MATLAB, which is pretty terrible for analyzing large data sets because it can't mmap files (and it doesn't have the language features necessary to make this possible, and it's closed source).
- Related to the above, it's easier to get funding to develop a novel algorithm than to implement an existing algorithm in a way that makes it more useful/accessible to researchers. I believe this is slowly changing.
- There are a lot of different algorithms used for analyzing fMRI data, and no single package implements all of them. The necessity of each algorithm differs by lab and researcher, according to scientific necessity, personal preference, or the conventions of their subfield. People end up writing their own code to glue together methods from different analysis packages, which is, again, often written using the wrong tools.
- Us graduate students who know how to code well need to publish papers. There is comparatively little incentive to publish code.
It's somewhat a moot point though, because everyone likes to gzip their nifti and unfortunately the file formats don't have a uniformly-accepted way to leverage the huge disk savings we can get from masked data without applying (stupid from the point of view of the types of analysis we do) compression. Even filesystem-level compression doesn't help. If you can fit all your data into available RAM, you're fine. If not...
Like you, I am skeptical of the explosion of human neuroimaging, but I think that, as a technique for determining where to drop your electrodes, fMRI can be a very powerful tool.
To add to that list, http://www.brain-map.org/ is a reallllllllly nice tool. I love what this company is doing in terms of automating gene expression within the brain and look forward to their software going through some revisions.
I mean, a mandatory prerequisite in any serious 'brain project' is some progress in almost all of the related fields, and in a sufficiently big project you try to get some leading scientists from all these areas under your umbrella.