Performing brain-behavior correlations with 3dttest++




and their corresponding covariate value (some score):

subject score
Sub1 33
Sub2 9
Sub3 35
Sub4 25
Sub5 20
Sub6 8
Sub7 21
Sub8 16
Sub9 2
Sub10 18

The basic correlation of these values is 0.1150181.

If I run these data through 3dttest++:

3dttest++ -prefix corr_demo \
-setA allSubs \
Sub1 mri_data.1D[0] \
Sub2 mri_data.1D[1] \
Sub3 mri_data.1D[2] \
Sub4 mri_data.1D[3] \
Sub5 mri_data.1D[4] \
Sub6 mri_data.1D[5] \
Sub7 mri_data.1D[6] \
Sub8 mri_data.1D[7] \
Sub9 mri_data.1D[8] \
Sub10 mri_data.1D[9] \
-covariates covariates_t.1D

I get the following output:
self_idcode = "AFN_lE6-AT8YoUXP4TUZqIw65g"
ni_type = "4*float"
ni_dimen = "1,1,1"
ni_delta = "1,1,1"
ni_origin = "0,0,0"
0.427321 5.35561 0.00259738 0.327494


R2 = t2 / (t2 + DF)




and your covariate file would look like this:

subject score
Sub1 1.348483
Sub2 -0.9147055
Sub3 1.537082
Sub4 0.5940871
Sub5 0.1225894
Sub6 -1.009005
Sub7 0.2168889
Sub8 -0.2546087
Sub9 -1.574802
Sub10 -0.06600967



self_idcode = “AFN_q0gjrxxu0ENLzuuMuFhqVw”
ni_type = “4*float”
ni_dimen = “1,1,1”
ni_delta = “1,1,1”
ni_origin = “0,0,0”
1.11759e-08 3.35426e-08 0.115018 0.327494


HowTo: 3D printing your brain


It’s been about five months since I last updated, and for that I’m somewhat apologetic.  Things have been busy and I’ve been trying to figure out a series of topics to post on for the next series.  So rest assured, there will be more analysis guides in the future.  BUT today is all about how to 3D print a human brain.  Before I begin, as with everything in MRI: There are many ways to actually accomplish this.  This is just the way that I managed to print it.  And of course if you don’t feel like going through the steps yourself, you can always pay someone to do it for you!

  1. Find a 3D printer.  It turns out this isn’t terribly hard!
  2. Get an MRI.  Preferably a T1 suitable for processing in Freesurfer.
  3. Process the brain in Freesurfer.  I’ve posted a few tutorial on rapid processing of brains in Freesurfer, and related Tracula.
    1. recon-all -s YourBrain -i /path/to/file/YourBrain.nii.gz -all
  4. Wait a really long time (actually only about 5 hours on a 4Ghz Retina iMac)
  5. Optionally (recommended) hand correct the segmentations to correct artifacts
  6. Convert each hemisphere to an STL file
    1. mris_convert $SUBJECTS_DIR/YourBrain/surf/lh.pial ~/Desktop/lh.YourBrain.stl
    2. mris_convert $SUBJECTS_DIR/YourBrain/surf/rh.pial ~/Desktop/rh.YourBrain.stl
  7. Review your mesh, you can do this in SolidWorks
  8. Load each STL file into whatever software came with your 3D printer (SolidWorks & Meshlab in my case)
  9. Send the job to your printer and prepare to wait a long time (~13 hours here) per hemisphere.



Installing AFNI on Mac OS X 10.11 “El Capitain”

We’ve all been there, Apple releases a new Operating System and when you install it, you find out that your favorite programs don’t work on launch day or require some special install instructions.  Well if you’ve installed AFNI onto a Mac running 10.11, you may notice that some of the Python programs don’t fully work.  This isn’t AFNI’s fault, it’s actually a “subtle” change in the OS that limits the abilities of interpreters (like Python) to gain access to shell variables (like DYLD_*).

So how do you actually go about installing AFNI on a system running 10.11.x?  Well you have (like always) plenty of options, but my preferred way to do it uses *surprise* homebrew.

1. Install Xcode via the Mac App Store
2. Install Homebrew
3. Install GCC via Homebrew

brew install gcc --with-all-languages --without-multilib

4. Install PyQT (for access to and

brew install pyqt

5. Link your libgomp.1.dylib to the correct location for AFNI to find it.  Note that you’ll want to look for this file and not just copy the command below:

ln -s /usr/local/Cellar/gcc/5.2.0/lib/gcc/5/libgomp.1.dylib /usr/local/lib/libgomp.1.dylib

6. Install glib

brew install glib

7. Download AFNI’s 10.7 binaries and move to ~/abin
8. Setup your path

echo "export PATH=$PATH:~/abin" >> ~/.bash_profile

9. Test your setup -check_all

10. Rejoice.

Installing PyMVPA on Mac OS X


Multi-voxel Pattern Analysis (MVPA) is hot right now.  Its users are the cool kids at conferences.  And if you want to join that crowd of researchers, you have a growing possibility of solutions to perform MVPA without having to resort to writing your own.  The list that I’ll start out with today includes three MATLAB toolboxes: 1) The Decoding Toolbox, 2) PRoNTo, and 3) the long-since updated Princeton MVPA Toolbox.  And of course the non-MATLAB possibility featured in todays post is PyMVPA.

Now as you may have already realized, the first three require MATLAB.  If you don’t have MATLAB, you could try to find instructions to run these toolboxes in Octave.  But that may be more tech stuff that you don’t want to deal with!  Python has the advantage of being Open Source, Free, and relatively close to MATLAB in many of its syntactic qualities.  So today I’ll detail the installation of PyMVPA and in a later post, I’ll talk about some of the other MVPA solutions.

The way I see it, at this very moment, you have about four options for installing PyMVPA on your Mac.  The first is to install the NeuroDebian Virtual Machine, which runs in Virtual Box (a Free PC Emulator software).  If you go this route, you’ll be almost guaranteed a smooth transition to having the software installed.  Of course you’ll have to fight against the slowness of any virtual machine and may be limited by how much hard drive space and RAM your computer has.

The second solution is to install MacPorts, and use it to install all of the necessary components for you.  This is a fairly straightforward (and seems to be recommended way by the maintainers of PyMVPA).

sudo port install py25-pymvpa +scipy +nibabel \
 +hcluster +libsvm +matplotlib +pywavelet

However, I will say that not everyone likes installing MacPorts.  So that brings me to the third solution is to install something like Enthought, a ready made Python environment with a number of dependencies (Numpy, Scipy) already installed for you.  The good news is that there is a free version of this toolkit and it really is smooth to install.  After the installation you’ll just have to grab the source code and follow the install from source instructions.

And finally, we reach the fourth option.  To install PyMVPA onto your computer by satisfying the dependencies yourself!  Here I recommend, if you don’t already, having Homebrew installed!  You’ll also need to grab a copy of Xcode (via the AppStore).  The rest of the instructions suggest that you setup a Virtual Environment, so that your don’t have to globally install packages on your computer, with the necessary dependencies.  This has the advantage of keeping everything mostly contained so that you could run different versions of any package without breaking your PyMVPA installation!  Also note that the install directory is in the Shared Users area, which is handy because you can have multiple users share the same environment.  The following should be run in a terminal.  Some have a description and the command after the colon (:).
1) Install Homebrew:
ruby -e "$(curl -fsSL"
2) mkdir /Users/Shared/PyMVPA; cd  /Users/Shared/
3) sudo easy_install pip
4) pip install virtualenv
5) virtualenv PyMVPA
6) cd PyMVPA
7) . bin/activate
8) pip install numpy
9) pip install scipy
10) pip install nibabel
11) pip install ipython'[all]’
12) pip install scikit-learn
13) pip install matplotlib
14) brew install swig
15) Grab the PyMVPA source (and place into your virtualenv folder):
git clone git://
16) Install PyMVPA:
make 3rd
python build_ext –with-libsvm
python install –with-libsvm
17) Download tutorial data at:
18) Unzip and Place data in /Users/Shared/PyMVPA/Tutorial_Data
And give it a shot!

Helpful fMRI QA Tools in AFNI






-tablefile ss_review_stats.txt
