<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Small Gray Matters &#187; nipy</title>
	<atom:link href="http://www.smallgraymatters.com/tag/nipy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.smallgraymatters.com</link>
	<description>of brains and their minds</description>
	<lastBuildDate>Fri, 18 Sep 2009 01:27:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Python + fMRI = love</title>
		<link>http://www.smallgraymatters.com/2009/05/13/python-fmri-love/</link>
		<comments>http://www.smallgraymatters.com/2009/05/13/python-fmri-love/#comments</comments>
		<pubDate>Thu, 14 May 2009 02:48:15 +0000</pubDate>
		<dc:creator>small and gray</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[fmri]]></category>
		<category><![CDATA[nipy]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.smallgraymatters.com/?p=49</guid>
		<description><![CDATA[I was completely unaware of this until someone pointed it out to me the other day, but there&#8217;s a really nice effort underway to develop a Neuroimaging package for Python:
The neuroimaging in python (NIPY) project is an environment for the analysis of structural and functional neuroimaging data. It currently has a full system for general [...]]]></description>
			<content:encoded><![CDATA[<p>I was completely unaware of this until someone pointed it out to me the other day, but there&#8217;s a really nice effort underway to develop <a href="http://neuroimaging.scipy.org">a Neuroimaging package for Python</a>:</p>
<blockquote><p>The neuroimaging in python (NIPY) project is an environment for the analysis of structural and functional neuroimaging data. It currently has a full system for general linear modeling of functional magnetic resonance imaging (fMRI).</p></blockquote>
<p>This strikes me as a great project for a number of reasons (see <a href="http://neuroimaging.scipy.org/site/doc/manual/html/faq/why.html">this page</a> for more):</p>
<p> </p>
<ul>
<li>The existing free software packages for fMRI analysis (or at least the two I&#8217;m moderately familiar with) have limitations that are pretty hard to live with. <a href="http://www.fil.ion.ucl.ac.uk/spm/">SPM</a> is about as close to an industry standard as there is, but has a hideously clunky GUI, depends on expensive proprietary software (MATLAB), and lacks integration with other environments/languages. <a href="http://www.fmrib.ox.ac.uk/fsl/">FSL</a> is very powerful, but also lacks interoperability, and in practice, I&#8217;ve found it hard to build complex models with FSL.</li>
<li>Speed. NIPY is built on <a href="http://www.scipy.org/">SciPy</a>/NumPy, an increasingly popular set of Python libraries for scientific computing. Much of the SciPy/NumPy code is just a wrapper for C++/Fortran libraries that do the heavy lifting. So in theory, NIPY could be very fast (though Matlab is comparable for many operations. For a nice comparison of different numerical analysis packages, see <a href="http://anyall.org/blog/2009/02/comparison-of-data-analysis-packages-r-matlab-scipy-excel-sas-spss-stata/">this page</a>).</li>
<li>Open source / total interoperability. In theory, SPM and FSL are both &#8220;open&#8221; to varying degrees. But as the NIPY developers note, in practice, relatively few people actually make substantial contributions to the SPM or FSL codebase. Moving to a high-level language that&#8217;s easier to learn and develop in could do a lot to increase the level of community support for any package.</li>
<li>The language. I can&#8217;t see myself ever contributing much to the SPM codebase precisely because I find programming in Matlab to be about as pleasant as pulling teeth. That&#8217;s not because I&#8217;m a terrible programmer; I have a fair amount of experience with a number of other languages. It&#8217;s because Matlab <em>isn&#8217;t</em> really a programming language. There&#8217;s limited or non-existent support for any number of operations that are a single call away in Python or R. And if the functionality you want doesn&#8217;t exist, you&#8217;ll probably have to write it yourself. Whereas Python has freely available packages for <a href="http://pypi.python.org/pypi/">just about everything</a>. And the language just makes <em>sense</em>. If you&#8217;re going to build a new package for fMRI analysis, it&#8217;s not a bad idea to build it in a language that&#8217;s actually fun to program in.</li>
<li>Great support. NIPy has great developers and institutional support (the project is maintained by the <a href="http://bic.berkeley.edu/">Brain Imaging Center</a> at Berkeley), and seems likely to stay funded for the foreseeable future.</li>
</ul>
<p> </p>
<p>So what&#8217;s the downside? Well, the software clearly isn&#8217;t ready for prime-time yet. The developers themselves counsel you not to use it for any serious data analysis. But there&#8217;s already a reasonable amount of functionality, and it&#8217;s generally well-documented. Give it another year or two and NIPy should start to siphon users away from SPM and FSL. I&#8217;ll certainly be happy to make the switch.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.smallgraymatters.com/2009/05/13/python-fmri-love/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
