레이블이 fsl인 게시물을 표시합니다. 모든 게시물 표시
레이블이 fsl인 게시물을 표시합니다. 모든 게시물 표시

2013년 11월 23일 토요일

multiple testing problem에 대한 solution (4/4) - non-parametric - permutation test - randomise in fsl

fsl에서 permutation method를 사용하기 위한 도구로 사용되는 것은 randomise 툴을 사용하는 것입니다. 

Randomise 시에 추천되는 옵션은 TFCE (threshold-Free cluster enhancement)입니다. Cluster-based thresholding은 voxel-based보다는 더 민감도가 높지만 이를 통한 결과들이 initial thresholding의 level에 아주 의존적인데, 이 level을 선택하는 것에 대한 원칙이나 객관적인 방법이 없다는 약점이 있습니다. 따라서 대안으로 사용되는 TFCE의 경우에는 cluster-based thresholding에 유사하나 일반적으로 더 강력하고도 임의로 initial cluster-forming threshold를 설정할 필요가 없습니다. 이 옵션을 preprocessed data에 사용하기 위해서는 --T2 옵션을 추가하면 됩니다. 아래에 구체적인 실례를 들어서 설명을 하여 보도록 하겠습니다.

randomise 옵션 사용하기:

자료에서의 노이즈가 simple distribution을 따르지 않거나 자료를 summarize하기 위하여 non-standard statistics가 사용될 때 null distribution을 알 수 없게 된다. 이렇게 null distribution이 알려지지 않을 때에 permutation method(다른 말로 randomization method)는 statistic map들에 대한 inference (thresholding)를 위하여 사용된다. Randomise는 standard GLM 디자인 setup을 사용하여 modeling과 inference를 가능하게 하여 주는 단순한 permutation program이다. Randomise의 수식은 다음과 같다.

randomise -i <4D_input_data> -o <output_rootname> -d design.mat -t design.con -m <mask_image> -n 500 -D -v 5 --T2 -V

여기에서 –i 파라미터 뒤의 4D_input_data를 기반으로 하여 -o 파라미터 뒤의 output_rootname으로 test statistic image를 만들어 내게 된다.

design.mat와 design.con은 design matrix와 필요한 contrast들의 명단을 포함하는 text file들이다.

–n 옵션은 randomise가 테스트할 null distribution을 구축하기 위하여 보통 500회(5000회를 추천)의 permutation을 수행하도록 하는 것이다. 이 옵션을 빼면 자동으로 5000회의 permutation을 수행한다.

-D 옵션은 randomise가 데이터를 demean하도록 하는 것인데 이 것은 design matrix에서 mean을 모델링하지 않을 때에 필요한 옵션이다. –D 옵션의 사용 유무는 design matrix를 어떻게 짜는가에 달려있다. 예를 들어서, mean predictor가 design matrix안에 포함이 되어 있다면, -D를 사용하지 않는다. 그러나 만약에 mean predictor가 design matrix안에 포함되지 않는다면 그 때에는 –D 옵션을 꼭 사용하여 주어서 mean이 data (와 design)에서 제거가 되도록 하여 주어야 한다.

-v 옵션: You can potentially improve the estimation of the variance that feeds into the final "t" statistic image by using the variance smoothing option -v <number> where you need to specify the spatial extent of the smoothing in mm

--T2 옵션은 TFCE를 사용하기 위한 옵션이다. (주의: These optimizations are different for different "dimensionality" of your data; for normal, 3D data (such as in an FSL-VBM analysis), you should use just the -T option, while for TBSS analyses (that is in effect on the mostly "2D" white matter skeleton), you should use the --T2 option)

-V 옵션: a deprecated flag (중요도가 떨어지는 기호, verbose mode를 활성화시키기 위해서 사용하는 옵션이지만 이미 randomise에서는 초기치로 잡혀 있다. 따라서 생략 가능)





2013년 11월 22일 금요일

Monte-Carlo simulation

fMRI 논문을 읽다 보면 지긋지긋하게 나오는 몬테카를로 시뮬레이션에 대해서 알아 봅시다. 개념만 보아 둬도 될 것 같습니다. (세부적인 것은 너무 어려워서 뭔 말인지 모르겠음)

몬테카를로 계산이란?

몬테카를로 방법은 통계적 문제를, 난수(Random Number)를 사용한 무작위적인 표본을 이용하여 해결하는 방법이다. 몬테카를로 방법의 장점 중의 하나는 계산 알고리즘이 다른 수학적 방법에 비해 간단하다는 것을 들 수 있다. 또한, 주로 5~10% 정도의 오차를 허용할 수 있는 공학적인 문제들을 해결하는 데 효과적으로 이용될 수 있다.
몬테카를로 방법(Monte Carlo method)은 난수를 이용하여 함수의 값을 확률적으로 계산하는 알고리즘을 부르는 용어이다. 수학이나 물리학 등에 자주 사용되며, 계산하려는 값이 닫힌 형식으로 표현되지 않거나 복잡한 경우에 근사적으로 계산할 때 사용된다. 스타니스와프 울람이 모나코의 유명한 도박의 도시 몬테카를로의 이름을 본따 명명하였다.
변수의 관계가 확실하여 예측치를 정확하게 찾을 수 있는 확정모형(deterministic model)과는 달리, 기획일의 많은 부분은 결과를 정확하게 예측할 수 없는 확률모형(stochastic model)이다. 일반적으로 확정모형에서는 분석적 해(analytical solution)을 찾는 것이 가능하다. 그러나 확률모형에서는 분석적인 방법으로 해를 찾는 것이 불가능 한 경우가 많다. 이 경우에는 수치적(numerical)으로 일련의 난수를 반복적으로 발생해서 시뮬레이션을 하면 답을 찾을 수 있는데 이것이 몬테카를로 시뮬레이션이다.

기본 사상은 각각의 단위 변수의 패턴을 알아내서, 의사결정을 위한 그 단위 변수의 조합의 패턴을 추정하는 것이다.다시말해, 각각의 변수의 확률분포를 통합해서 목표로 하는 값의 확률분포를 알아내는 것이다.그림을 보면 이게 무슨말인지 쉽게 이해할 것이다.


그럼 단위 변수들의 확률모델은 어떻게 알아내느냐고? 그건 최소한 의사결정을 위한 목표값의 확룔모델을 알아내는 것보다는 몇갑절 쉽고 정확하다. 범위와 그 속성을 알면 누구나 동감할 만한 수준의 패턴을 찾아낼 수 있기 때문이다.

그럼 단위 변수들의 확률모델은 어떻게 알아내느냐고? 그건 최소한 의사결정을 위한 목표값의 확룔모델을 알아내는 것보다는 몇갑절 쉽고 정확하다. 범위와 그 속성을 알면 누구나 동감할 만한 수준의 패턴을 찾아낼 수 있기 때문이다.
 몬테카를로 방법을 이용하여 해결할 수 있는 문제들이 어떤 것들이 있는가에 대해 살펴보면, 난수 인자에 의해서 제어될 수 있는 모델이라면 어떤 것이든 다룰 수 있다. 두 번째로, 확률을 가지고 있지 않은 많은 수학적 문제들에 대해서 이 방법은 컴퓨터를 이용한 통계적 추출 시도를 통해서 적절한 확률적 모델을 만들어서 문제를 해결할 수 있도록 해준다. 1930년 엔리코 페르미가 중성자의 특성을 연구하기 위해 이 방법을 사용한 것으로 유명하다.
 맨해튼 계획의 시뮬레이션이나 수소폭탄의 개발에서도 핵심적인 역할을 담당하였다. 알고리즘의 반복과 큰 수의 계산이 관련되기 때문에 몬테카를로는 다양한 컴퓨터 모의 실험 기술을 사용하여 컴퓨터로 계산하는 것이 적합하다.





FWHM에 대해서 - random field theory와 관련해서 나오는 말

FWHM은 Full width at half maximum의 줄임말로서, 반값의 최대폭을 의미합니다.

어떤 함수의 종속변수의 절반 크기에 해당하는 독립변수 값의 차이를 말합니다. 예를 들어, 검출기가 측정한 별빛의 세기는 다음과 같이 3차원적으로 표현할 수 있습니다. 높이에 해당하는 것은 별의 밝기(또는 빛의 세기)이며, 그에 수직한 평면은 검출기의 두 좌표를 나타냅니다. 두 좌표는 CCD와 같은 검출기의 행과 열을 나타냅니다. 아래의 함수는 CCD와 같은 검출기의 몇번 째 행의 몇번 째 열에 입사하는 빛이 어느 정도의 세기를 가지는가를 나타냅니다. 이처럼 검출기의 행과 열에 대한 빛의 세기를 나타내는 함수와 같은 것들을 점퍼짐 함수(PSF; Point Spread Function)라고 합니다. 이러한 점퍼짐 합수의 절반 세기에서 측정한 전체 폭을 FWHM(반값의 최대폭(이라고 합니다.

FWHM의 응용 분야는 매우 다양합니다. 천체 관측을 위한 대기의 품질을 결정하는 시상(seeing)의 결정에도 사용이 됩니다. 대기의 요동이 심한 날에는 대기에 의한 별빛의 굴절률 변화가 심하고, 그 결과 점퍼짐 함수의 폭이 커집니다. 서로 다른 시간에 동일한 별의 FWHM을 측정하여 비교한다면 시간에 따른 시상의 변화를 비교할 수 있습니다. 또한 천체망원경의 초점을 조정할 때에도 사용됩니다. 초점이 정확하게 맞을수록 별의 상의 크기가 작아진다는 원리를 이용하는 것인데, FWHM은 별의 상의 크기를 결정하는 기준이 될 수 있습니다. 육안이나 소프트웨어를 이용하여 동일한 별상의 FWHM을 감시하면서 초점을 조정하다가  FWHM이 최소가 될 때 초점을 맞추게 됩니다. FWHM을 이용한 초점 조정 방법은 다음 링크에 설명되어 있습니다.

초점 조절 - DSLR 사진기의 디스플레이 이용법






원본 영상 출처 :
http://en.wikipedia.org/wiki/Fwhm


푸른행성의 과학, http://www.skyobserver.net/

2013년 11월 14일 목요일

type I & type II error에 대한 설명

항상 헷갈리는 (이해하기 어렵다기 보다는 헷갈려서) type I 및 type II 에러에 대한 설명입니다. (FSL 코스에서 따옴)

I형 오류에서는 실제 차이가 없는데도 차이가 있다고 판단하는 위양성을 말하고, II형 오류에서는 실제 차이가 있는데도 차이가 없다고 판단하고 위음성을 말한다고 이해하시면 되겠습니다.





GLM에 대해서

General linear model (GLM)은 많은 fMRI 자료 분석에서 중요한 도구입니다.
"general"이라는 이름에서 알 수 있듯이, 이 모델은 많은 다양한 유형의 분석에서 사용됩니다.

GLM은 by far the m/c statistical approach for detecting task-related neural activation라고 할 수 있습니다.

기본적으로 matrix algebra에 대한 지식이 필요합니다.

하나 이상의 continuous 또는 categorical independent variable들, 즉 predictor들을 single, continuous dependent variable에 연결하는 역할을 합니다.

여기에서 single independent variable이 있는 가장 간단한 모델은 simple linear regression이 될 것입니다.

그리고 두 개이상이 predictor 또는 regressor가 있다면 이 때는 multiple regression이 됩니다.

GLM이 강력한 도구가 되는 이유는 많은 다른 분석들(one-sample t-test, two-sample t-test, paired t-test, ANOVA, ANCOVA (ANOVA + covariate variables))이 이 것으로 실행될 수 있기 때문입니다. GLM은 ANOVA의 확장입니다. ANOVA는 독립변수가 하나일 경우에 사용하며, GLM은 독립변수가 2개 이상일 경우에도 사용합니다.

아래의 그림을 보십시오. 






여기에서 Y는 한 voxel에 대해서 다양한 시점들에서의 bold signal을 보여주는 결과값입니다.
이 Y를 설명하기 위한 것이 Xβ이고 여기에 Y와 Xβ 사이의 차이를 보정하여 주기 위한 에러값(가장 작은 것이 좋겠지요. 그래서 least square estimates라는 개념을 사용합니다)으로 ε이 추가가 됩니다.

그러면  Xβ는 X라는 design matrix와  β 라는 parameter들로 구성되어 있습니다. 

여기에서 design matrix인 X의 각 로우(가로줄)은 각기 다른 시간대, 칼럼(세로줄)은 각기 다른 predictor/regressor를 의미한다고 보시면 되겠습니다.

그런데 모델을 좀 더 향상시키기 위해서는 즉, error를 줄이기 위해서는 "model everything"이라고 합니다.  즉, 실험적으로로로 관심이 없는 것이라고 모든 알려진 변수들을 모델에 집어넣어서 모델링을 하는 것이 좋다는 것입니다. 따라서 각 칼럼에 해당하는 여러 predictor들 중에서는 관심이 없는 것도 있고, 관심이 가는 것도 있습니다. 실제로 관심을 갖는 predictor를 우리는 effects of interest라고 이야기를 합니다.

아래의 그림을 보십시오.



여기에서 더 나아가서 우리는 β 라는 parameter를 구하기를 원합니다. 이 것을 구하는 것이 GLM입니다. 좀 더 자세히 이야기를 해 나가 보겠습니다.



BET (brain extraction tool)에 대해서

일부 preprocessing stream들에서는 brain extraction step이 포함됩니다.

이 단계는 skull stripping이라고도 합니다.

제가 영문으로 설명할 께요.

Removal of the skull and other non-brain tissue can be performed manually, but the procedure is very time-consuming.

A number of automated methods have been developed to perform brain extraction.

Brain extraction problem is of greater importance for anatomical images than for fMRI data (where tissues outside the brain rarely exhibit bright signal).

fsl에서는 BET라고 존재합니다. 그런데 BET와 BET2가 있습니다.

그래서 헷갈리기 쉬운데, 사실 [bet is a script which calls the bet2 binary - hence by default it will give the same results.  bet has more script-level options that wrap around bet2.]이라고 합니다.

결국 같은 결과를 낸다고 보시면 되겠습니다.

fsl을 공부하기 위한 resource들 - 게시판편

fsl을 공부하기 위한 여러 resource들에 대해서 글을 썼었는데 그 중에서 제일 중요하다고 생각하는 게시판에 대해서 이야기를 나누어 보겠습니다.



fsl support forum 으로 들어가면 게시판 (https://www.jiscmail.ac.uk/cgi-bin/webadmin?A0=fsl) 이 열리는 것을 보실 수 있습니다. 여기가 아주 강력합니다.

실제 분석을 하려고 하다 보면 막히는 부분이 한두가지가 아닐 때 여기에서 많은 도움을 얻을 수가 있습니다.

JISCMAIL은 영국의 국가 교육 메일링 리스트 서비스인데, 여기에서 검색을 해서 내가 이전에 막힌 부분들에 대한 답들을 일단 검색하고 그 다음에 새로운 질문을 할 수도 있습니다.

이전에는 한 주제에 대해서 검색을 하고 한 글을 읽고 나면 뒤로 가기가 안되어서 다시 재검색을 해야 해서 너무 불편했었던 것으로 기억하는데 이제는 뒤로 가기가 되기 때문에 인터페이스가 아주 편하여 졌습니다.


MRI neuroimaging에서의 기본 사항 - coordinate system

참 많이 헷갈리는 부분입니다.

저의 경우에는 다음과 같이 정리하였습니다.

"Radiological" convention for axes, aka "LAS", left hand coordinate system
환자의 발 쪽에서 위로 봄. 환자의 오른쪽은 영상에서는 왼쪽에 해당함
"Neurological" convention for axes, aka "RAS", right hand coordinate system
환자의 머리 쪽에서 아래로 봄. 환자의 오른쪽은 영상에서는 오른쪽에 해당함 (thumb = R, 2nd finger = A, middle finger = S.)

그런데 이 것을 hand coordination과 연결시켜서도 설명합니다. 이 때 무조건 엄지는 x축, 2nd finger는 y축, 3rd finger는 z축입니다. 즉, 양손을 사용해서 항상 thumb은 X, 2nd finger는 Y, middle finger는 z로 놓는다고 합시다. 

The default ANALYZE orientation is LAS (radiological orientation):
  • +X is Left
  • +Y is Anterior
  • +Z is Superior
LAS는 이 때 왼손으로 설명됩니다. (따라서 left hand coordinate system)

The neurological convention is RAS (only the direction of X is swapped):
  • +X is Right
  • +Y is Anterior
  • +Z is Superior

This is also the 'Talairach' and MNI template coordinate system. (주의)

RAS는 이 때 오른손으로 설명이 됩니다. (따라서 right hand coordinate system)

저의 경우에는 radiological convention이 왜 left hand coordination이고 neurological convention이 왜 right hand coordination인지 이해가 가지 않았는데, 위의 순서대로 하니 이해가 비로소 갔었던 부분입니다.


NIFTI allows the left-right orientation of your data to be specified but we do not recommend using anything but radiologically ordered images with this release. Note that fslorient -getorient allows you to see the orientation stored in the header (as does fslhd). FSL treats all Analyze images as being radiologically ordered. You can change orientation by re-ordering the data with fslswapdim or by changing the header info with fslorient. FSLView always shows images in radiological convention.

오류를 일으킬 수 있는 부분이라서 단순하게 정의하면 NIfTI-1에서는 이러한 coordinate system을 정하여 줄 수 있기는 하지만, fsl에서는 이러한 것을 권장하지 않으며 단지 radiological convention, 즉 left hand coordinate system만을 사용하고, fslview에서도 항상 radiological convention으로 이미지들을 보여준다고 이해하시면 되겠습니다.

MRI neuroimaging에서의 기본 사항 - space

neuroimaging을 하다 보면 헷갈릴 수 있는 것이 바로 space에 대한 설명들입니다.


Talairach space (가장 기본이 됨. Proportional grid system)

 From atlas of Talairach and Tournoux (T&T, 1988)
Based on single subject (60 years, female, Cadaver) - 1개인의 부검뇌에 의존
Single hemisphere
First commonly used system
 uses a right-handed system
 소뇌와 뇌간부가 빠짐
 Brodmann 영역의 특정에 관해서는 Talairach space가 우수함


객관적으로 전뇌영역을 검색하기 위해 형태가 다른 각 개인의 뇌기능정보를 Talairach and Tournoux의 표준뇌에 맞도록 변형함으로써 뇌형태의 개인차를 없이하고 화상통계해석을 하는 방법이 연구면뿐만 아니라 임상현장에서도 이용되고 있습니다.
--------------------------------------------------------------------------------
Montreal Neurological Institues (MNI) space

 The MNI template follows the convention of T&T, but doesn’t match the particular brain.
 Combination of many MRI scans on normal controls - 다수의 정상 뇌에 근거함
 All right-handed subjects
 Taller from AC by 5mm, deeper from AC by 10mm
 소뇌와 뇌간부를 포함함


보통 통계해석결과는 X, Y, Z의 좌표와 t값 및 t값을 표준 정규분포에 따르도록 변환한 Z값으로 표시됩니다.

여기서 보통 주어지는 좌표는 MNI에서 개발한 표준뇌가 이용되고 있습니다. (하지만, 이 좌표를 다시 Talairach의 좌표로 변환함으로써 Brodmann 분류에 의한 피질영역을 특정할 수가 있게 됩니다. 이 좌표 변환방법에도 다양한 방법들이 있습니다. meta-analysis를 할 때에 GingerALE이라는 프로그램에서는 대표적으로 Lancaster transformation을 사용해서 MNI에서 Talairach 좌표계로 바꾸어서 사용합니다.)


 Used by FSL, SPM (기본적으로 제공하는 template), fMRI Data center, International Consortium for Brain Mapping, many others

fsl에는 152명의 뇌에서 얻은 MNI152 space가 들어 있습니다.

이 space들에 올려져 있는 뇌의 다양한 atlas들이 있습니다.

fsl에서 사용하는 보다 더 자세한 template과 atlas에 대한 설명은 http://fsl.fmrib.ox.ac.uk/fsl/fslwiki/Atlases?highlight=%28%28Atlases%29%29 에서 찾아 볼 수 있습니다.

MRI neuroimaging에서의 기본 사항 - file format

neuroimaging을 하게 되면 여러가지 영상 파일들을 얻게 되는데 기본적인 지식들이 이에 대해서 있어야 함

제일 기본적인 것은 Digital Imagery and COmmunications in Medicine (DICOM) 파일 포맷임.

이 것은 스캐너에서 직접 얻는 데이터들의 기본적인 포맷임.

그런데 MRI 기계 회사에 따라서 이러한 포맷들은 각기 다 다름

따라서 범용 프로그램에서는 이에 따라서 공통된 포맷들을 사용하여 주거나, 아예 분석프로그램이 특정 MRI 기계 회사의 포맷들을 읽을 수 있게 되어 있어야 함.



위 그림에서 보듯이 fsl에서는 DICOM을 직접 읽지 못하며 DICOM을 변환하여서 NIFTI나 Analyze로 만들면 이 파일을 읽을 수 있음. 그러나 Analyze는 구식 포맷이라고 하여서 fsl에서 권하는 것은 NIFTI 포맷임

그럼 이러한 파일 포맷들에는 차이가 있는가? 그에 대해서 한번 알아봅시다.

Analyze는 원래 Biomedical imaging resource at the Mayo foundation의 analyze program에서 사용되는 데이터 형식으로, 이 포맷에서는 헤더 (확장자가 .hdr, voxel size and number of voxel in each dimension 정보)와 영상 정보 (확장자가 .img, actual data in binary format)파일이 분리되어져 있습니다.

그러나 NIfTI에서는 이 파일들이 통합되어서 확장자는 *.nii(압축한 경우에는 확장자가 *nii.gz가 됨)가 됩니다.

DICOM: standard for data straight from scanner

 ANALYZE: common standard for analysis programs, 3D (x, y, z dimensions) vs. 4D (x, y, z + time), two components (*.img (raw image data) & *.hdr (describing the image dimensions, data format and comments))

NeuroImaging inFormatics Technology Initiative-1 (NIfTI-1): newest standard, developed by consensus committee


다시 비교하면 아래와 같이 말할 수 있습니다.

참고로 fsl에서 이미지를 보기 위하여 사용하는 프로그램이 fslview입니다. fslview에서는 Analyze와 NIfTI-1 파일 포맷을 읽을 수 있습니다.


결국은 NIfTI-1 포맷을 써야겠다는 결론이 나옵니다.

고대 구로병원의 경우 지멘스 trio,skyla 3.0T MRI를 사용하고 있습니다. (현재 본인의 경우에 연구에 이용할 MRI 영상은 skyla입니다) 이 경우에 DICOM 3.0 버전으로 확장자가 IMA인 이미지를 얻게 됩니다.

따라서 이 이미지를 fsl에서 쓰기 위한 NIfTI 파일 포맷으로 바꾸어 주어야 합니다.

이 때에 변환하는 프로그램으로는 위에서 fsl에서 권하는 dcm2nii, mri_convert 등의 프로그램을 사용합니다.

기타 다른 프로그램들도 사용할 수는 있는데, 저의 경우에는 dcm2nii 프로그램을 사용합니다. 

dcm2nii 프로그램은 사실 a cross-platform NIfTI format image viewer인 MRIcron 내에서 제공하는 프로그램입니다. 이 프로그램은 Chris Rorden에 의하여 개발되었는데, 이 사람이 또 이름이 비슷한 MRIcro도 개발을 하여서 좀 헷갈립니다. (그러나, 홈페이지에 보면 개발자는 MRIcron을 더욱 사용할 것을 권하고 있습니다. MRIcro supports the Analyze file format. I strongly suggest using MRIcron. MRIcron supports the NIfTI format and has many new features. The only reason to use MRIcro instead of MRIcron is if you are familiar with this software or if you have a computer with limited memory (<256 Mb).)

각설하고 컨버터 프로그램은 무엇을 사용하든 손에 익은 것으로 하면 된다고 생각합니다.






2013년 11월 13일 수요일

ubuntu 사용을 위한 resource들

우분투 사용에 관련된 정보들을 얻기에는 역시 인터넷 만한 것이 없습니다.

몇가지 사이트 들을 소개합니다.


1. 우분투 홈페이지는 www.ubuntu.com 입니다. 일단 다운로드 받아야 사용할 수 있을 것입니다. 우분투는 보통은 6개월 마다 신버전이 나오는데, 실제 사용에서는 신버전이라고 다를 것도 없고 하니, 그보다는 장기간 동안 update를 support하여 주는 LTS 버전으로 해서 설치하는 것을 저는 권합니다.

2. 리눅스를 사용하시는 분들이 리눅스에 대해서 생소할 때 그에 대해서 아쉬운 점을 긁어 주는 사이트입니다. 리눅스를 처음 사용하는 분들을 위한 북마크 (http://wiki.kldp.org/wiki.php/LinuxUserBookmarkForNovice) 도 감을 잡기에는 유용합니다.

3. 일단 우분투 한국 커뮤니티(http://www.ubuntu.or.kr/)가 있습니다.

4. 우분투에 관련해서 궁금한 것이 있을 때 물어보기에 유용한 사이트로 http://askubuntu.com/ 가 있습니다. 영어이지만 왠만한 것은 여기에서 찾을 수 있습니다.

그리고 책입니다.

가볍게 보기 에는 제가 읽었던 아래의 책도 괜찮기는 합니다. (아마존에서 킨들로 1달러가 안되는 가격에 판매중임) 그런데 내용이 쉽기는 한데 별 내용이 없어서 좀, 아쉽습니다.

사실 가격만큼의 책이란 생각입니다.


어쨌든 중요한 것은 실제로 깔고 실행하면 예상하지 못했던 난점들을 발견하게 될 것이라는 점입니다.


fsl을 어디에서 실행시킬 것인가?

미국에 신경영상 연구와 관련되어서 연수를 하러 와서 제일 허탈하다고나 할 까 좀 어이 없었던 부분들은 미국 연구자의 경우에는 이러한 시스템에 관련된 고민을 굳이 할 필요가 없다는 것이었습니다.

여기는 중앙에 서버가 있고, 그 서버에 접속할 권한을 중앙의 IT 담당자가 접속한 사람들에게 주면 접속한 사람은 그에 접속해서 자기가 필요한 프로그램만 실행시키면 그 뿐입니다.

그래서 어떠한 프로그램을 어느 컴퓨터에 깔아서 어떻게 돌릴 것인가에 대한 고민을 굳이 하지 않아도 된다는 점이 장점인 것 같습니다.

이 부분에 대해서 말을 하면 상당히 말이 많아지는 부분이라고 생각됩니다.

fsl 개발자 측에서는  a UNIX-based computer (such as a Linux PC or Apple OS X) for carrying out data analysis가 권고되고 있습니다.

저의 경우에는 가성비 측면에서 UNIX 컴퓨터를 선택하였습니다.

UNIX 중에서 애플은 워낙 값이 비싸고 또 OSX 운영체제에 친숙하지 않은 관계로 제가 선택한 것은 linux PC입니다.

Linux 배포판의 경우 100여 가지가 넘습니다.

FSL is available ready to run for 64bit Centos 5 and Centos 6. Debian/Ubuntu users can install FSL from the Neurodebian site - http://neuro.debian.net/pkgs/fsl.html and should read their setup instructions.

여기에서 보면, 그 중에서 fsl과 관련해서 개발자들이 기준으로 한 것은 centos 5, centos 6, 그리고 debian/ubuntu라는 것을 알 수 있습니다.

저의 경우에는 ubuntu를 선택하였는데, 설치가 쉽고 그래픽 유저 인터페이스를 사용하여서, fsl의 설치도 neurodebian을 검색하여서 쉽게 할 수 있기 때문입니다.

그리고 업데이트도  neurodebian repository를 사용하면 되니 매우 쉽고 간단한 편입니다.

그리고 데스크탑 환경은 우분투의 기본 데스크탑 환경인 unity(이에 대한 설명은http://unity.ubuntu.com/를 참조하십시오) 를 사용하고 있습니다. Unity는 가장 유명한 리눅스 배포판인 우분투의 기본 데스크탑 환경이기 때문입니다. Unity는 우분투를 만든 캐노니컬에서 만들었고, 캐노니컬은 이 데스크탑 환경을 우분투의 기본 데스크탑 환경으로 적용하였습니다.

(리눅스의 기본 데스크탑 환경에 대해서는 다른 블로그의 글 (http://edoli.tistory.com/119, http://edoli.tistory.com/119)을 참조하시면 이해에 도움이 되실 것입니다.

fsl의 workflow

각기 다른 소프트웨어 패키지에 따라서 canonical (표준이 되는) processing stream이 조금씩 달라집니다. 그림을 보시면 아시겠지만 statistical analysis와 spatial normalization이 서로 순서가 달라지는 것을 알 수 있습니다. 그러나 주된 흐름은 같다고 보아야 합니다.



이러한 전반적인 흐름을 잡는 것은 중요하다고 생각합니다.

fsl을 공부하기 위한 resource들 - 강좌편

1. fmrib에서 자체적으로 하는 강좌

fsl에서 하는 강좌에 대한 설명은 fmrib홈페이지의 research 항목 하의 education 항목으로 들어가면 됩니다. (http://www.fmrib.ox.ac.uk/research/fmrib-graduate-programme-and-fsl-course)

여기에 가면 fmrib 내부에서 하는 fmrib graduate program이 있고 외부에서 하는 fsl course가 있습니다.


외부에서 하는 fsl course의 경우에는 보통 연 1회 하며 4일의 fsl에 1일의 freesurfer를 붙여서 강좌를 합니다. (2013년의 경우에는 지난 6월에 워싱턴 주의 Redmond에서 했었음)

그리고 fsl course의 material은 인터넷에 공개(http://fsl.fmrib.ox.ac.uk/fslcourse/)되어 있습니다. (따라서 영어가 잘 안되는 경우에는 굳이 비싼 돈을 들여가면서 여기에 갈 필요가 있을까 하는 생각은 듭니다.)

아래는 올해의 타임테이블입니다.



하지만 실제로 들어 보면, 실제 듣는 것과는 그래도 차이가 있다는 것을 알게 됩니다.

그래서 외부에서 하는 fsl 관련 강좌도 있습니다.

2. freesurfer를 만든 MGH에서 하는 fMRI 강좌입니다.(http://www.nmr.mgh.harvard.edu/training/courses)

3. MGH에서 하는 강좌 중에는 freesurfer만 따로 떼어서 하는 3일짜리 강좌도 있습니다.

(물론 fsl이 아닌 SPM 및 SPM+freesurfer 연계를 다루는 강좌들도 별도로 있습니다만 그 것 까지는 제가 파는 곳이 아니어서 여기에서 다루지는 않습니다.)







fsl을 공부하기 위한 resource들 - 홈페이지 편

이번에는 fsl을 공부하기 위한 여러가지 resource들을 정리하여 보겠습니다. 일단 fsl은 FMRIB software library의 약자로, Stephen Smith와 동료들에 의하여 Oxford University에서 만들어진 것입니다.


1. FMRIB의 홈페이지(http://www.fmrib.ox.ac.uk/)이기도 합니다. 여기에서 fmrib의 감을 잡을 수 있습니다.

2. FSL의 홈페이지는 http://fsl.fmrib.ox.ac.uk/fsl/fslwiki/ 입니다. 여기에서는 본격적으로 fsl에 대한 내용들을 다룹니다.

fmrib의 홈페이지에서 우측 상단에 조그맣게 쓰인 FSL을 클릭하면 여기로 연결 됩니다.


들어가보시면 이제 fsl의 버전은 현재 Release 5.0, September 2012이 최신 버전임을 알 수 있습니다.

여기에서 추가적으로 나오는 이름이 freesurfer입니다. freesurfer는 이전의 글에서 fMRI용 소프트웨어 패키지에 이름이 나오지 않았는데, 원래 anatomical MRI analysis를 위해서 개발된 소프트웨어이기 때문에 그렇습니다. 그렇지만 해부학적으로는 cortical surface model과 anatomical parcellation을 만들어 낼 수 있어서 volume-based method보다는 surface-based approach를 하는 것이 좀 더 유용한 경우에 data들의 align을 위해서 사용할 수 있기 때문에 유용합니다. FSL을 사용하여 얻은 statistical result들을 reconstructed cortical surface에 project하여서 surface-based group statistical analysis를 할 수 있게 합니다.

그래서 freesurfer는 Bruce Fischl등에 의하여서 MGH에서 개발되어서 FSL과는 개발자가 다름에도 불구하고 함께 묶어서 워크샵을 하는 경우가 많습니다.

FSL 홈페이지로 들어 가시면 다음과 같이 연결됩니다.


이 중에서 진짜 백미는 빨간 박스를 친 support 항목이라고 생각됩니다. 여기로 들어가시면 많은 정보의 바다를 만나시게 됩니다.



overview of major fMRI software packages

여러 가지 소프트웨어들이 많이 개발되어져 나와 있습니다.

이 중에서 이것저것을 하다보면 평생 공부만 하다가 끝날 것 같고 소프트웨어 패키지 하나를 정해서 그것만 두들겨 파는 것이 제일 좋은 방법 같습니다.



무료로 사용할 수 있는 패키지에 제일 대표적인 것이 SPM, FSL, AFNI인데 이 중에서 국내에서는 SPM, FSL이 양대 산맥이 아닐까 하는 생각이 듭니다.

분량이 많기 때문에 이 중에서 어떠한 것을 선택할 것인가에 대해서도 기준이 제시가 되고 있습니다. 그러나 개인적으로는 available한 resource가 근처에 있는 경우를 선택하는 것이 제일 중요하다고 생각합니다.

현재 개인적으로는 fsl이 sophisticated set of tools for analysis of DTI data를 가지고 있기 때문에 이 툴을 선호하여서 이 툴에 대해서 주로 공부를 하고 있습니다.