首页 » 影像遗传学 数据分析 » 全文

fslorient和fslswapdim命令对3D图像进行方向转换(neurological to radiological)

2010 年 12 月 03 日 xuemei 浏览:832 最后更新:2010 年 12 月 17 日

前面提到从scaner中下来的数据需要用dcm2nii或者MNIConvert把原始的dcm数据转化为NifTI的hdr/img或者nii格式。再用dcm2nii转化的时候有一个选项orient,可以自动对3D数据进行方向的转换,转到与标准空间最相似的方向。在脑成像数据处理,图像的坐标方向是非常重要的,同时也是很容易弄错的。数据处理时,一定要对数据的方向有很清楚的认识。在方向没有对之前,任何分析和处理都是不正确的。目前常提到的坐标有Neurological和Radiological两种坐标。

在这之前,首先了解一下NIfTI格式如何存储图像信息。以3D图像为例,256 × 256,Sagital128层的数据,也就是有256×256 ×128个voxels,而每个voxel的坐标就是(i,j,k)。第一个voxel就是(0,0,0),第二个voxel就是(1,0,0),第三个是(2,0,o).坐标总是从零开始,当i到最大值255时,开始j,当j到最大值是,再从k开始。这些坐标与解剖方向完全没有关系。那么NIfTI格式与解剖有关的信息存放在qform和sform距阵中。当qform和sform矩阵的编码不为0时,才能提供有用的解剖信息,当编码为0是,则是unknown。这两个矩阵其中一个矩阵存储scaner中空间的解剖坐标信息,另一个则存储MNNI152的标准空间的解剖坐标信息。通常情况下这两个矩阵只有一个能提供信息,要不就是两个都是一样的。那怎么看一个图像的这些信息呢。用fslhd命令就可以查看图像的这些信息:

fslhd  2008110402_t1_mprage.nii.gz

就可以看到一下信息:

filename       2008110402_t1_mprage.nii
sizeof_hdr     348
data_type      INT16
dim0           3
dim1           256
dim2           256
dim3           128
dim4           1
dim5           1
dim6           1
dim7           1
vox_units      mm
time_units     Unknown
datatype       4
nbyper         2
bitpix         16
pixdim0        0.0000000000
pixdim1        1.0000000000
pixdim2        1.0000000000
pixdim3        1.3299789429
pixdim4        0.0000000000
pixdim5        0.0000000000
pixdim6        0.0000000000
pixdim7        0.0000000000
vox_offset     352
cal_max        0.0000
cal_min        0.0000
scl_slope      1.000000
scl_inter      0.000000
phase_dim      1
freq_dim       2
slice_dim      3
slice_name     alternating_increasing
slice_code     3
slice_start    0
slice_end      127
slice_duration 486.162506
time_offset    0.000000
intent         Unknown
intent_code    0
intent_name
intent_p1      0.000000
intent_p2      0.000000
intent_p3      0.000000
qform_name     Scanner Anat
qform_code     1
qto_xyz:1      0.000000  0.000000  1.329979  -83.099068
qto_xyz:2      -1.000000  0.000000  -0.000000  138.169495
qto_xyz:3      0.000000  1.000000  -0.000000  -135.455063
qto_xyz:4      0.000000  0.000000  0.000000  1.000000
qform_xorient  Anterior-to-Posterior
qform_yorient  Inferior-to-Superior
qform_zorient  Left-to-Right
sform_name     Unknown
sform_code     0
sto_xyz:1      0.000000  0.000000  0.000000  0.000000
sto_xyz:2      0.000000  0.000000  0.000000  0.000000
sto_xyz:3      0.000000  0.000000  0.000000  0.000000
sto_xyz:4      0.000000  0.000000  0.000000  0.000000
sform_xorient  Unknown
sform_yorient  Unknown
sform_zorient  Unknown
file_type      NIFTI-1+
file_code      1
descrip        t1_mprage_sag
aux_file

在上面的信息中,dim1, dim2, dim3就是(i,j,k)信息。我们可以看到qform_name 是 Scanner Anat,并且qform_code编码为1,并且可知qform_xorient  是Anterior-to-Posterior;qform_yorient是 Inferior-to-Superior,而qform_zorient 是Left-to-Right。也就是说,如果我们用fslview打开这个图像,第一个窗口是x*z平面,屏幕上左右拉动绿色线,向右x增大。如果关注图像解剖方向Ap,向P看到MNI坐标中y变负;第二个窗口时y*z平面,屏幕上左右拉动绿色线,向右y增大。关注图像解剖方向IS,向右S则MNI坐标中z变正;第三个窗口是x*y平面,左右拉动绿线,则z增大,关注图像解剖方向AP,向右则向P,MNI坐标中x变正。然后我们用fslorient -getorient  2008110402_t1_mprage.nii.gz查看图像是radiological还是neurological,结果是radiological。为什么呢?首先要了解什么是Radiological。

Radiological的坐标系主要指以我们自己为坐标只要有下负上正,左负右正就可以,不用去看fslview中的LR,PA,IS等信息。Radiological主要是从放射扫描工作中来的。扫描员面对病人的时候,以自己为参考点,右手为正,头顶为正,前面为正,这样的一个三维坐标系。由于病人是面对扫描员的,所以在扫描员的坐标轴中,病人左脑就是在右边,右脑在左边。Radiological严格说与LR,PA,IS等解剖结构没有关系。只要用fslview打开,拉动图像上面的绿线左右移动,如果向右x值增大或者y增大,向上z增大就是Radiological的坐标系。上面的图像2008110402_t1_mprage.nii.gz是sagital方向采样的,256*256*128,而且qform_xorient是 Anterior-to-Posterior,qform_yorient 是Inferior-to-Superior,qform_zorient是Left-to-Right,也就是在x*z,y*z,x*y三个平面上,分别向右拉得到x,y,x增大,这与radiological的坐标系是一致的,所以是radiological。Neurological只是以病人为参照系,相当于病人背对着扫描员,左边就是左脑,右边就是右脑。

通常而言,我们可以在fslview中打开一个标准的MNI152_T1_2mm_brain,看看是什么样子的:xyz坐标,向右拉动绿色的线,分别得到x,y,x都增大,向上得到z增大。对于解剖方向,旁边的MNI坐标为(有正负):LR,PA;IS。记住标准空间中xyz坐标和MNI坐标的方向。可以用命令fslorient -getorient MNI152_T1_2mm_brain 可以查看MNI152_T1_2mm_brain的坐标是Radiological。

我们通常用MRIconvert和dcm2nii进行数据格式的转换,两个转换生成的方向一般是不一样的。MRIconvert不进行reorient。刚才我们的256*256*128的sagital的3D数据,经过MRIconvert转换后,得到2008110402_t1_mprage.nii.gz,fslreorient -getorient命令发现是radiological,解剖方向与MNI吻合,即MNI的x是LR,y是PA,z是IS。这时候只需要fslreorient2std  2008110402_t1_mprage.nii.gz 3d.nii.gz命令就可以了。可以用fslhd查看3d.nii.gz的信息,会发现与MNI152_T1_2mm_brain是一样的,在fslview检查也会发现与MNI一样,qform和sform都是:

qform_xorient   Left-to-Right
qform_yorient  Anterior-to-Posterior
qform_zorient  Inferior-to-Superior

用dcm2nii转换得到三个文件:2008110402_t1_mprage.nii.gz,o2008110402_t1_mprage.nii.gz, co2008110402_t1_mprage.nii.gz。文件2008110402_t1_mprage.nii.gz没有经过任何的处理,o开头的是经过reorient的图像,co是经过切脖子的并且reorient的图像。用fslhd查看o2008110402_t1_mprage.nii.gz和co2008110402_t1_mprage.nii.gz,这两个图像的信息是一样的,会发现qform_code和sform_code都是1,如下:

qform_xorient   Right-to-Left
qform_yorient  Anterior-to-Posterior
qform_zorient  Inferior-to-Superior

用fslorient -getorient 会发现是Neurological。这种情况需要用fslorient  -swaporient co2008110402_t1_mprage.nii.gz 3d.nii.gz就可以了。然后再用fslhd和fslorient -getorient查看一下是否与MNI一样。

fslswapdim命令可以一步完成操作。以2008110402_t1_mprage.nii.gz为例,在fslview中仔细地查看会发现,原来的-z是正确的x,-x是正确的y,而y是正确的z,于是命令:fslorient -swaporient  2008110402_t1_mprage.nii.gz  -z  -x  y 3d.nii.gz.然后用fslhd和fslorient -getorient查看图像与MNI的方向是否一样的。

相关文章

  1. shell的sed命令详解和sed命令举例
  2. fsl和freesurfer中常用的shell命令举例
  3. 推荐一款学习脑结构的免费软件—BrainVoyager Tutor!

分类: 影像遗传学,数据分析

标签:, , , ,

Pubmed的RSS订阅 PNAS:物质奖赏作为外部动机破坏内部动机

发表评论

(必填)

(必填), (隐藏)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

TrackBack URL  |  这篇文章上的评论的 RSS feed


最新文章

热门文章

近期评论

标签云

amygdala Analyze bat brain anatomy brain structure BrainVoyager call Cerebral Cortex choice dcm2nii del DICOM e-prime e-prime、gonogo e-prime、时间精确度 e-prime使用指南 e_prime for for循环 freesurfer fsl functional connectivity go-nogo GoldenHelix、gene、SVS gonogo、e-prime if if判断 linux MRI MRIconvert MRIcron NIfRI rd Rem rest rm spm spm5 spm8 start tutorial 命令管道符 批处理 文件定向符 文件通配符

链接表

站点管理