Freesurfer & FSL & Connectome Mapper 설치 환경 구성하기
Freesurfer & FSL & Connectome Mapper 설치 환경 구성하기
작성자 : 서진우
작성일 : 2012년 5월 28일
1. 시스템 소개
FreeSurfer, FSL 은 MRI 뇌 분석 영상 소스를 화면으로 시뮬레이션하여 변환시키는
대표적인 오픈소스 프로그램이다. Connectome Mapper는 Freesurfer와 FSL 에서 제공
하는 다양한 기능을 Interface 하여 작업 Pipeline을 정의하고, 단계별 작업을 자동
화 시켜주는 프로그램이다.
본 환경 구축은 Redhat Enterprise Server 6 update 2 버전에서 테스트되었다.
2. FreeSufer 설치하기
– 패키지 다운로드 및 설치하기
http://surfer.nmr.mgh.harvard.edu/fswiki/Download
# wget ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.1.0/freesurfer-Linux-centos4_x86_64-stable-pub-v5.1.0.tar.gz
# cd /APP/HPC
# tar xzvf freesurfer-Linux-centos4_x86_64-stable-pub-v5.1.0.tar.gz
# vi /etc/profile.d/freesurfer.sh
—————————————————————
#!/bin/sh
export FREESURFER_HOME=/APP/HPC/freesurfer
source $FREESURFER_HOME/SetUpFreeSurfer.sh
export FSFAST_HOME=$FREESURFER_HOME/fsfast
export FSF_OUTPUT_FORMAT=nii
export MNI_DIR=$FREESURFER_HOME/mni
export FSL_DIR=$HOME/fsl
export SUBJECTS_DIR=$HOME/subjects
export PATH=$FREESURFER_HOME/bin:$FSFAST_HOME/bin:$MNI_DIR/bin:$FSL_DIR/bin:$PATH
—————————————————————
– 라이선스 취득
https://surfer.nmr.mgh.harvard.edu/registration.html
위 사이트에서 사용자 정보를 등록하면, 등록한 email로 라이선스 내용을 보내준다.
라이선스 내용은 아래와 같다.
————————————————————–
alang@clunix.com
13500
*CluRdB2reIkg
————————————————————–
위 내용을 가지고 /APP/HPC/freesurfer/.license 파일을 생성한다.
# vi /APP/HPC/freesurfer/.license
————————————————————–
alang@clunix.com
13500
*CluRdB2reIkg
————————————————————–
– Freesufer 기본 사용법
/APP/HPC/freesurfer/subjects 위치에 가면 패키지에 기본적으로 들어 있는
샘플 subject 파일 내용들이 존재한다.
기본적인 명령어 사용법은 아래와 같다.
recon-all \
-i <one slice in the anatomical dicom series> \
-s <subject id that you make up> \
-sd <directory to put the subject folder in> \
-all
# recon-all -s ernie -i $SUBJECTS_DIR/sample-001.mgz -i $SUBJECTS_DIR/sample-002.mgz -autorecon1
위 내용을 통해 간단히 분석 시뮬레이션을 테스트할 수 있다.
아래는 분석이 끝난 영상화면을 가시화하는 방법이다.
tkmedit 명령은 MRI 영상을 view 하는 명령이다.
tksurfer 명령은 뇌의 표면재질을 view 하는 명령이다.
Example 1
Load $SUBJECTS_DIR/bert/mri/T1
tkmedit bert T1.mgz tkmedit -f $SUBJECTS_DIR/mri/T1/COR-.info
Example 2
Add a surface.
tkmedit bert T1.mgz lh.inflated
Example 3
Load an overlay.
tkmedit bert T1 -overlay fsig.mgh -overlay-reg register.dat
Example 4
tksurfer alang10 rh white
– SGE 작업스크립터
# cat alang10.sh
—————————————————————————————–
#!/bin/sh
#$ -cwd
#$ -V
#$ -N ff_alang10
#$ -S /bin/sh
#$ -v ENSH_HOME=/engrid/ensh
#$ -j y
#$ -q all.q@alang10
#$ -v SUBJECTS_DIR=/home/admin/subjects
unset SUBJECTS_DIR
export SUBJECTS_DIR=/home/admin/subjects
recon-all -s alang10 -i ./SAMPLE/sample-001.mgz -i ./SAMPLE/sample-002.mgz -all
—————————————————————————————–
[root@alang00 subjects]# cat alang11.sh
—————————————————————————————–
#!/bin/sh
#$ -cwd
#$ -V
#$ -N ff_alang11
#$ -S /bin/sh
#$ -v ENSH_HOME=/engrid/ensh
#$ -j y
#$ -q all.q@alang11
#$ -t 1-2
#$ -v SUBJECTS_DIR=/home/admin/subjects
unset SUBJECTS_DIR
export SUBJECTS_DIR=/home/admin/subjects
recon-all -s alang11-00${SGE_TASK_ID} -i ./SAMPLE/sample-00${SGE_TASK_ID}.mgz -all
——————————————————————————————
3. FSL 설치하기
# yum install compat-expat1
# sh fsl_installer.sh -f fsl-4.1.9-centos5_64.tar.gz -d /APP/HPC
——————————————————————————————–
[Warning] This FSL release (Centos 5) has not been fully tested for this OS version.
You may need to install some compatibility libraries eg compat-expat1.
Continue? [yes]yes
[OK]
Checking CPU type…
[OK]
Checking install file…(this may take several minutes)
[OK]
Installing FSL from /APP/HPC/fsl-4.1.9-centos5_64.tar.gz into /APP/HPC…
[OK]
Patching environment
Modifying ‘.bash_profile’ for FSL…
——– freesurfer-Linux-centos4_x86_64-stable-pub-v5.1.0 ——–
Setting up environment for FreeSurfer/FS-FAST (and FSL)
WARNING: /root/subjects does not exist
FREESURFER_HOME /APP/HPC/freesurfer
FSFAST_HOME /APP/HPC/freesurfer/fsfast
FSF_OUTPUT_FORMAT nii
SUBJECTS_DIR /root/subjects
MNI_DIR /APP/HPC/freesurfer/mni
WARNING: /root/fsl/bin does not exist.
FSL_DIR /root/fsl
– 환경설정하기
사전에 설치된 freesurfer 환경설정에 FSL 환경설정을 추가한다.
# vi /etc/profile.d/freesufer.sh
—————————————————————————–
export FREESURFER_HOME=/APP/HPC/freesurfer
source $FREESURFER_HOME/SetUpFreeSurfer.sh
export FSFAST_HOME=$FREESURFER_HOME/fsfast
export FSF_OUTPUT_FORMAT=nii
export MNI_DIR=$FREESURFER_HOME/mni
export FSL_DIR=/APP/HPC/fsl # -> 수정
export FSLDIR=/APP/HPC/fsl # -> 추가
source $FSLDIR/etc/fslconf/fsl.sh # -> 추가
export SUBJECTS_DIR=$HOME/subjects
export PATH=$FREESURFER_HOME/bin:$FSFAST_HOME/bin:$MNI_DIR/bin:$FSL_DIR/bin:$PATH
—————————————————————————–
4. Connectome mapper 설치하기
Connectome Mapper는 기본적으로 ubuntu 환경에서 사용이 최적화되어 있다.
RHEL 환경에서 설치하기 위해서는 다양한 python modules을 추가로 설치해줘야한다.
기본적으로 대부분의 module이 python2.6 기반에 맞추어 있기 때문에 RHEL 기반에서
설치를 위해서는 RHEL6 최신 버전에 설치하는것을 권장한다.
우선 기본적으로 RHEL 패키지에 포함되어 있는 python 모듈을 설치한다.
# yum install python-matplotlib
# yum install python-networkx
# yum install python-setuptools
# yum install ipython
# yum install scipy
# yum install qtwebkit qtwebkit-devel
# yum install PyQt4 PyQt4-devel PyQt4-webkit PyQt4-webkit-devel
easy_install 명령을 통해 python modules 소스 사이트에 기본 등록되어 있는
modules을 설치한다.
# easy_install nibabel
# easy_install traits
# easy_install protobuf
# easy_install cifflib
위 traits 패키지는 소스로 설치했을 경우 redhat 환경에 다소 호환성의 문제가
있는듯 하다.
아래는 fedora 16 버전의 src rpm을 통해 RHEL6 에 맞게 rpmrebuild 시킨 파일들이다.
해당 RPM을 설치한다.
python-Traits-3.5.0-2.el6.x86_64.rpm
python-EnthoughtBase-3.0.6-2.el6.noarch.rpm
python-TraitsBackendQt-3.5.0-2.el6.noarch.rpm
python-TraitsGUI-3.5.0-2.el6.noarch.rpm
pydicom 패키지를 다운받아 수동으로 설치한다.
# wget http://pydicom.googlecode.com/files/pydicom-0.9.7.tar.gz
# tar xzvf pydicom-0.9.7.tar.gz
# cd pydicom-0.9.7
# python setup.py install
– Connectome Mapper 다운로드 및 설치하기
http://www.connectomics.org/connectomemapper/download.html
# tar xzvf LTS5-cmp-release-1.2.0-0-g59392e2.tar.gz
# cd LTS5-cmp-59392e2/
# python setup.py install
– 실행하기
$ connectomemapper
아래는 connectome mapper에서 사용하는 많은 python modules을 포함하고 있는 enthought 패키지 사이트이다.
일괄적으로 소스 설치하는 방법이다. 참고만 하길 바란다.
Source Control Repository
If you want to be on the bleeding edge of the Enthought Tool Suite, you can check out the latest source from our github repository.
Getting the github source for all projects
Download the following Python script: https://github.com/enthought/ets/raw/master/ets.py
And run the following commands:
$ mkdir ets
$ cd ets # and copy ets.py here
$ python ets.py clone
This will clone all ETS projects from github. Now you may run:
$ python ets.py develop
You can also check other available commands using:
$ python ets.py -h