Hi, Mark,

Great thanks!
You are right!!!
Last tonight, I figured it out when I was nearly giving up.
I suddenly realized the reason of the problem may be FOV.
So, I make the bcot1 and roi the same FOV and voxel size using flirt -usesqform before applying *****.


Thanks again!

Best,
Zhijang Wang


2014-04-08 14:15 GMT+08:00 Mark Jenkinson <[log in to unmask]>:
Hi,

If I assume that the names bcoT1 (in the initial flirt commands) is equivalent to nbT1 (in the header info section) and that roi (flirt calls) is equivalent to ROImask (headers), then I think I see what the problem is.  These images have completely different voxel sizes, and now I suspect that they also have different FOV.  In order to apply one transform to another image, the second image has to be in the same space as the original input image.  So that means that the voxel size and FOV should be the same for "bcoT1" and "roi".  You should be able to overlay these two images within FSLView.  If not, then you cannot apply the transformation as the image "roi" is not in the correct space to start with.  

Normally I would expect that "roi" is just a copy of the image "bcoT1" but the intensities contain zeros everywhere except for within the ROI, where they would contain the value 1.

If you describe what "roi" is, and how it relates to "bcoT1" then we should be able to help.

All the best,
Mark



On 6 Apr 2014, at 10:09, Zhijiang Wang <[log in to unmask]> wrote:

Dear Mark,

Great thanks to your reply!
Please let me re-tell you my question:
#######################################################################
              flirt    -in bcoT1     -ref B0   -cost corration    -o  t12b0    -omat  t_mat

              # t12b0 is OK.

              flirt    -in roi   -ref B0     -o b0_roi       -init t_mat     -applyxfm
             # But, when applying the transformation matrix to the roi mask, the resulted b0_roi.nii can not be alighned with b0/

             Why?

             I am so confused/
############################################################################
 
I just send my .nii file to you and fsl-email-list, but received "Fail in sending this email because the size of files is greater than 200K".

So, I have to attach some head information (*.mat, sform, qform).

Could anybody tell me where the problem is?

Great thanks!



 B0.head.mat

-2.20312500000000 0 0 143.203125000000
0 2.20312500000000 0 -124.132568359375
0 0 2.20000004768372 -53.7819283008575
0 0 0 1
 fslorient -getqform B0
-2.20312 0 -0 141 
0 2.20312 -0 -121.929 
0 0 2.2 -51.5819 
0 0 0 1 
fslorient -getsform B0
-2.20312 0 0 141 
0 2.20312 0 -121.929 
0 0 2.2 -51.5819 
0 0 0 1 

bT1.head.mat
1.32840895652771 0.0126800928264856 0.0472275912761688 -104.481479177251
-0.0154902637004852 0.999688148498535 -0.0220899917185307 -113.658335920423
-0.0631656423211098 0.0215135142207146 0.998639881610870 -120.418306723237
0 0 0 1
fslorient -getsform nbT1
1.32841 0.0126801 0.0472276 -103.093 
-0.0154903 0.999688 -0.02209 -112.696 
-0.0631656 0.0215135 0.99864 -119.461 
0 0 0 1 
fslorient -getqform nbT1
1.32873 0 0.0436194 -99.8026
 0 1 0 -80.1566 
-0.0580138 0 0.999048 -101.699 
0 0 0 1 

ROImaskfile.head.mat
-3.12486195564270 -0.0109078036621213 0.0366514474153519 101.246426661499
-0.0109082190319896 3.12498092651367 1.35525271560688e-20 -122.445417311974
0.0272702574729919 9.51912588789128e-05 4.19984006881714 -71.5327780273146
0 0 0 1

fslorient -getsform ROImask
-3.12486 -0.0109078 0.0366514 98.1473 
-0.0109082 3.12498 1.35525e-20 -119.331 
0.0272703 9.51913e-05 4.19984 -67.3056 
0 0 0 1 
fslorient -getqform ROImask
-3.12486 -0.0109078 0.0366216 98.1473 
-0.0109082 3.12498 -5.22123e-08 -119.331 
0.0272481 9.51524e-05 4.19984 -67.3056 
0 0 0 1 






2014-03-10 19:08 GMT+08:00 Mark Jenkinson <[log in to unmask]>:
Hi,

It is difficult to know what is going wrong from your description here.
The commands, subject to minor typos (e.g. corration), look correct.
Could the problem be related to the output of the second command not using a floating-point datatype (you can fix this with "-datatype float" in the second flirt call) and hence it truncating a lot of the mask values to zero?

If that is not the case then please give us a more informative description of the problem.

All the best,
Mark



On 4 Mar 2014, at 13:15, Zhijiang Wang <[log in to unmask]> wrote:

Dear fslers,

I want to register a ROI mask into B0, but I am confused the followings:

flirt    -in bcoT1     -ref B0   -cost corration    -o  t12b0    -omat  t_mat

# t12b0 is OK.

flirt    -in roi   -ref B0     -o b0_roi       -init t_mat     -applyxfm
# But, when applying the transformation matrix to the roi mask, the resulted b0_roi.nii can not be alighned with b0/

Why?

I am so confused/

who can share with your suggestions and comments.

Best,