After reslicing harvard oxford cortical atlas (having identical q- and s-
forms:
qform_code 2
qto_xyz:1 -2.000000 0.000000 -0.000000 90.000000
qto_xyz:2 0.000000 2.000000 -0.000000 -126.000000
qto_xyz:3 0.000000 0.000000 2.000000 -72.000000
qto_xyz:4 0.000000 0.000000 0.000000 1.000000
qform_xorient Right-to-Left
qform_yorient Posterior-to-Anterior
qform_zorient Inferior-to-Superior
sform_name Aligned Anat
sform_code 2
sto_xyz:1 -2.000000 0.000000 0.000000 90.000000
sto_xyz:2 0.000000 2.000000 0.000000 -126.000000
sto_xyz:3 0.000000 0.000000 2.000000 -72.000000
sto_xyz:4 0.000000 0.000000 0.000000 1.000000
sform_xorient Right-to-Left
sform_yorient Posterior-to-Anterior
sform_zorient Inferior-to-Superior
into the subject space using flirt:
flirt -in /usr/share/fsl/data/atlases/HarvardOxford/HarvardOxford-cort-prob-2mm.nii.gz -ref bold_mean.nii.gz -init trans/mni2bold.mat -applyxfm -out HarvardOxford-cort-prob-bold-2.nii.gz
qform and sform carry different values:
$> fslhd HarvardOxford-cort-prob-bold-2.nii.gz | grep -A 100 form_code
qform_code 2
qto_xyz:1 -3.495180 -0.123161 -0.153425 86.463974
qto_xyz:2 -0.143651 3.655497 0.822284 -164.003738
qto_xyz:3 -0.114382 -0.827449 3.655518 -96.569008
qto_xyz:4 0.000000 0.000000 0.000000 1.000000
qform_xorient Right-to-Left
qform_yorient Posterior-to-Anterior
qform_zorient Inferior-to-Superior
sform_name Aligned Anat
sform_code 2
sto_xyz:1 -3.973516 -0.117754 -0.152804 86.463974
sto_xyz:2 -0.181955 4.048423 0.851950 -164.003738
sto_xyz:3 -0.142902 -0.994334 4.139136 -96.569008
sto_xyz:4 0.000000 0.000000 0.000000 1.000000
sform_xorient Right-to-Left
sform_yorient Posterior-to-Anterior
sform_zorient Inferior-to-Superior
which in turn confuses nibabel, which takes the sform as the ultimate
affine transformation and computes voxel sizes to be 3.98024607, 4.1704073 ,
4.22866583 instead of the original 3.5, 3.75, 3.75 in the target space given by
bold_mean.nii.gz.
The header of bold_mean.nii.gz :
$> fslhd bold_mean.nii.gz
filename bold_mean.nii.gz
sizeof_hdr 348
data_type INT16
dim0 3
dim1 40
dim2 64
dim3 64
dim4 1
dim5 1
dim6 1
dim7 1
vox_units mm
time_units s
datatype 4
nbyper 2
bitpix 16
pixdim0 0.0000000000
pixdim1 3.5000000000
pixdim2 3.7500000000
pixdim3 3.7500000000
pixdim4 2.5000000000
pixdim5 0.0000000000
pixdim6 0.0000000000
pixdim7 0.0000000000
vox_offset 352
cal_max 2668.0000
cal_min 0.0000
scl_slope 1.000000
scl_inter 0.000000
phase_dim 0
freq_dim 0
slice_dim 0
slice_name Unknown
slice_code 0
slice_start 0
slice_end 0
slice_duration 0.000000
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 Unknown
qform_code 0
qto_xyz:1 3.500000 0.000000 0.000000 0.000000
qto_xyz:2 0.000000 3.750000 0.000000 0.000000
qto_xyz:3 0.000000 0.000000 3.750000 0.000000
qto_xyz:4 0.000000 0.000000 0.000000 1.000000
qform_xorient Left-to-Right
qform_yorient Posterior-to-Anterior
qform_zorient Inferior-to-Superior
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 FSL4.0
aux_file