About longitudinal voxel-wised DTI analysis using DTI-TK

953 views
Skip to first unread message

Paul Chou

unread,
Feb 10, 2013, 10:03:36 PM2/10/13
to dt...@googlegroups.com
Dear Gary and all DTI-TK experts

Currently i want to analysis my longitudinal DTI dataset using voxel-wised approach, after reading the paper which came from Gary's group (An unbiased longitudinal analysis framework for tracking white matter changes using diffusion tensor imaging with application to Alzheimer's disease), I think the DTI-TK could perform very well in such kind of analysis. Based on the method part of this paper, i try to figure out how to perform this framework for my dataset. Could you help me to figure out the following demo script is correct for longitudinal voxel-wised DTI investigation ? In the following demo script i have two subjects with two-point data for each.

# Intra-subject registration

dti_template_bootstrap ixi_aging_template.nii.gz Intra_subject.txt EDS
dti_affine_population mean_initial.nii.gz Intra_subject.txt  EDS 3
TVtool -in mean_affine3.nii.gz -tr
BinaryThresholdImageFilter mean_affine3_tr.nii.gz mask.nii.gz 0.01 100 1 0
dti_diffeomorphic_population mean_affine3.nii.gz Intra_subject_aff.txt mask.nii.gz 0.002
dfRightComposeAffine -aff T1_DTI_MC_002_dti_dtitk.aff -df T1_DTI_MC_002_dti_dtitk_aff_diffeo.df.nii.gz -out T1_DTI_MC_002_Intra_Subject_Combined.df.nii.gz
dfRightComposeAffine -aff T2_DTI_MC_002_dti_dtitk.aff -df T2_DTI_MC_002_dti_dtitk_aff_diffeo.df.nii.gz -out T2_DTI_MC_002_Intra_Subject_Combined.df.nii.gz
dfRightComposeAffine -aff T1_DTI_MC_003_dti_dtitk.aff -df T1_DTI_MC_003_dti_dtitk_aff_diffeo.df.nii.gz -out T1_DTI_MC_003_Intra_Subject_Combined.df.nii.gz
dfRightComposeAffine -aff T2_DTI_MC_003_dti_dtitk.aff -df T2_DTI_MC_003_dti_dtitk_aff_diffeo.df.nii.gz -out T2_DTI_MC_003_Intra_Subject_Combined.df.nii.gz

# Inter-Subject Tensor Normalization

dti_template_bootstrap ixi_aging_template.nii.gz Inter_subject.txt EDS
dti_affine_population mean_initial.nii.gz Inter_subject.txt EDS 3
TVtool -in mean_affine3.nii.gz -tr
BinaryThresholdImageFilter mean_affine3_tr.nii.gz mask.nii.gz 0.01 100 1 0
dti_diffeomorphic_population mean_affine3.nii.gz Inter_subject_aff.txt mask.nii.gz 0.002
dfRightComposeAffine -aff MC_002_mean_diffeomorphic_initial6.aff -df MC_002_mean_diffeomorphic_initial6_aff_diffeo.df.nii.gz -out MC_002_Inter_Subject_Combined.df.nii.gz
dfRightComposeAffine -aff MC_003_mean_diffeomorphic_initial6.aff -df MC_003_mean_diffeomorphic_initial6_aff_diffeo.df.nii.gz -out MC_003_Inter_Subject_Combined.df.nii.gz

# Inter_Subject_Population_Space_Template_To_MNI_IIT2_Template
== In this step, i followed the on-line manual (http://dti-tk.sourceforge.net/pmwiki/pmwiki.php?n=Documentation.StdSpace) to create Population_Space_To_MNI_Space_combines.df.nii.gz for each inter-subject mean_diffeomorphic_initial6.nii.gz


# Mapping Individual Time-point space to MNI Space (only use one subject with two-points data for demo)

dfComposition -df2 MC_002_Inter_Subject_Combined.df.nii.gz -df1 Population_Space_To_MNI_Space_combined.df.nii.gz -out MC_002_Inter_Subject_Space_to_MNI.df.nii.gz
dfComposition -df2 T1_DTI_MC_002_Intra_Subject_Combined.df.nii.gz -df1 MC_002_Inter_Subject_Space_to_MNI.df.nii.gz -out MC_002_Time_Point_1_to_MNI.df.nii.gz
dfComposition -df2 T2_DTI_MC_002_Intra_Subject_Combined.df.nii.gz -df1 MC_002_Inter_Subject_Space_to_MNI.df.nii.gz -out MC_002_Time_Point_2_to_MNI.df.nii.gz
deformationSymTensor3DVolume -in T1_DTI_MC_002_dti_dtitk.nii.gz -trans MC_002_Time_Point_1_to_MNI.df.nii.gz -target IIT2mean.nii.gz -out T1_DTI_MC_002_dti_dtitk_MNI.nii.gz
deformationSymTensor3DVolume -in T2_DTI_MC_002_dti_dtitk.nii.gz -trans MC_002_Time_Point_2_to_MNI.df.nii.gz -target IIT2mean.nii.gz -out T2_DTI_MC_002_dti_dtitk_MNI.nii.gz

Sorry for this long email, because i want to confirm this analysis pipeline is consistent with the method part of the paper. Thanks very much and hope i could hear ana feedbacks from the DTI-TK experts.

Best

Paul

Hui Zhang

unread,
Feb 11, 2013, 7:52:31 AM2/11/13
to DTI ToolKit (DTI-TK)
Dear Paul,

I think you understand our pipeline nicely.  A few minor suggestions:

1) For intra-subject normalization, to create each subject's half-space template, I'd warp each time point with the corresponding combined deformation, then average the resulting images (with TVMean).  This will eliminate one extra interpolation and reduce unnecessary blurring, providing a better image for the inter-subject normalization.

2) For the mapping to the MNI space, it is advisable to visually assess the images in the standard space to make sure you have compose the deformation fields in the right order.  It is quite easy to make mistakes and not intuitive enough to check by just reading the commands.

3) If you want to do the same ROI-based analysis, I'd suggest that you follow the recipe in the paper.  The IIT template does not have the ROI parcellation at the moment.  The JHU template, which includes ROIs, works poorly with DTI-TK.

Finally, do check the intermediate results visually to eliminate obvious errors.

Good luck.

Gary


Paul

--
 
---
You received this message because you are subscribed to the Google Groups "DTI-TK" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dtitk+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

PaulSmith

unread,
Feb 12, 2013, 10:26:26 PM2/12/13
to dt...@googlegroups.com
Dear Gary

I have some following questions and hope you could share some experiences for me.

1) For intra-subject normalization, to create each subject's half-space template, I'd warp each time point with the corresponding combined deformation, then average the resulting images (with TVMean).  This will eliminate one extra interpolation and reduce unnecessary blurring, providing a better image for the inter-subject normalization.

-- I have tried your suggestion, everything run smoothly, thanks very much.

(2) In your group's paper, you also performed half-way space registration approach. For personal highly interest in different registration approach for longitudinal analysis pipeline, could i ask some questiones for this approach (sorry to bother you !)? The following demo script is my custom half-way space registration demo code for creating intra-subject template using FSL command line tool, however i don't know this script is correct or not. Could you help me to check this demo script ?  (Time-Point 1 for Subject S_002: T1_S_002.nii.gz ; Time-point 2 for Subject S_002: T2_S_002.nii.gz)

# Intra-subject template

flirt -in T1_S_002.nii.gz -ref T2_S_002.nii.gz -omat Time1_to_Time2.mat
avscale --allparams Time1_to_Time2.mat | grep -A 4 "Forward half transform" | tail -n 4 > Half_Way_T1.mat

flirt -in T2_S_002.nii.gz -ref T1_S_002.nii.gz -omat Time2_to_Time1.mat
avscale --allparams Time2_to_Time1.mat | grep -A 4 "Forward half transform" | tail -n 4 > Half_Way_T2.mat

flirt -in T1_S_002.nii.gz -ref T2_S_002.nii.gz -applyxfm -init Half_Way_T1.mat -o T1_S_002_Half_Way.nii.gz -interp spline

flirt -in T2_S_002.nii.gz -ref T1_S_002.nii.gz -applyxfm -init Half_Way_T2.mat -o T2_S_002_Half_Way.nii.gz -interp spline

fslmaths T1_S_002_Half_Way.nii.gz -add T2_S_002_Half_Way.nii.gz -div 2 S_002_Half_Way_Space_Template.nii.gz

(3) For the last question, have you ever perform half-space registration for subject with three time-points data? I also want to figure out how to perform multi time-points (> 2 time-points) data using half-way space registration framework. Could you shed some light for me? 

Many thanks and sorry to bother you with lots of questions!

Best

Paul


2013/2/11 Hui Zhang <garyhu...@gmail.com>



--
Kun-Hsien Chou Ph.D.
Brain Connectivity Lab
Institute of Neuroscience
National Yang-Ming University, Taipei, Taiwan
Tel: +886 2 28267000 #6134
Fax: +886 2 28262285

Hui Zhang

unread,
Feb 13, 2013, 6:47:22 AM2/13/13
to DTI ToolKit (DTI-TK)
Hi Paul,

1) For intra-subject normalization, to create each subject's half-space template, I'd warp each time point with the corresponding combined deformation, then average the resulting images (with TVMean).  This will eliminate one extra interpolation and reduce unnecessary blurring, providing a better image for the inter-subject normalization.

-- I have tried your suggestion, everything run smoothly, thanks very much.

Great!
 
(2) In your group's paper, you also performed half-way space registration approach. For personal highly interest in different registration approach for longitudinal analysis pipeline, could i ask some questiones for this approach (sorry to bother you !)? The following demo script is my custom half-way space registration demo code for creating intra-subject template using FSL command line tool, however i don't know this script is correct or not. Could you help me to check this demo script ?  (Time-Point 1 for Subject S_002: T1_S_002.nii.gz ; Time-point 2 for Subject S_002: T2_S_002.nii.gz)

# Intra-subject template

flirt -in T1_S_002.nii.gz -ref T2_S_002.nii.gz -omat Time1_to_Time2.mat
avscale --allparams Time1_to_Time2.mat | grep -A 4 "Forward half transform" | tail -n 4 > Half_Way_T1.mat

flirt -in T2_S_002.nii.gz -ref T1_S_002.nii.gz -omat Time2_to_Time1.mat
avscale --allparams Time2_to_Time1.mat | grep -A 4 "Forward half transform" | tail -n 4 > Half_Way_T2.mat

flirt -in T1_S_002.nii.gz -ref T2_S_002.nii.gz -applyxfm -init Half_Way_T1.mat -o T1_S_002_Half_Way.nii.gz -interp spline

flirt -in T2_S_002.nii.gz -ref T1_S_002.nii.gz -applyxfm -init Half_Way_T2.mat -o T2_S_002_Half_Way.nii.gz -interp spline

fslmaths T1_S_002_Half_Way.nii.gz -add T2_S_002_Half_Way.nii.gz -div 2 S_002_Half_Way_Space_Template.nii.gz

Sorry but I didn't carry out this part of the analysis myself.  It looks reasonable.  The best way to check it is to inspect the resulting images.
 
(3) For the last question, have you ever perform half-space registration for subject with three time-points data? I also want to figure out how to perform multi time-points (> 2 time-points) data using half-way space registration framework. Could you shed some light for me? 

This is a great question.  The group-wise approach that you are using with DTI-TK is naturally suited for 2 and/or more time points.  In the case of FSL's standard half-way space (FA-HS) approach, the extension for 3 or more time points, if not impossible, is not obvious, at least to me.

Gary

Rodrigo Perea

unread,
Jun 4, 2014, 5:53:57 PM6/4/14
to dt...@googlegroups.com
Hi all,
I'll attempt to make this more readable for those who are new at DTI-TK and future investigators that might like to use this process.

I've been trying to digest what it's been written before and I have a couple of doubts I wish somebody can help me. I've included my questions with a "Q#)" notation below.  

I am assuming Paul followed this example (http://dti-tk.sourceforge.net/pmwiki/pmwiki.php?n=Documentation.Registration ), which omits many of the steps explained before they go into the example and make it a little more confusing to follow :/ Anyhow, here is my attempt with my doubts...

Let first talk about the intra_subject registration. 
The steps I followed and according to Paul and  Gary's suggestions....

-------------------Intra-subject (within subject for Timepoint1 and timepoint2):

1. dti_template_bootstrap ixi_aging_template.nii.gz Intra_subject.txt EDS
     #According to my understanding and the output when I execute this command, this will:
     #First, this will generate a iteratively registration of each subject's timepoint1 and timepoint2 image to the template specified (in this case ixi_aging...) using the "EDS" similarity measure. So,
 
Q1) What does EDS stand for? Is it Euclidean distance of tensor measurement explained in Shiva's tensor pipeline?   

This command will generate 5 outputs:
OUTPUT1 -->  SubjT1.aff 
OUTPUT2 -->  SubT2.aff   ----> which stores the transformation matrix between every imagesT1/T2 space to the template after iteratively repeating the 
                                              registration process and a vector. 

Q2) How is the VECTOR important in this "tensor"? I use FSL and it's difficult to grasp a "tensor" notation in single 3D image rather than 4D images such as V*s or L*s. 

Consequently, it also creates:

OUTPUT3 ---> SubjT1_aff.nii.gz
OUTPUT4 ---> SubjT1_aff.nii.gz  ----> which according to my understanding are the warped images when the .aff is applied to the each T1/T2 image 
                                                       space with the once iteratively registered to the template.

And finally,
OUTPUT5 -->  mean_initial.nii.gz  --> my intuition tells me that this output is the mean (or averaged)  "new template" created from our previous 
                                                       registrations. I feel this is a little confusing name becuase I am not sure what the "mean" definition stands for...

Q3) I would love a better explanation of mean_inital.nii.gz

 
The second command Paul suggests is:

2. dti_affine_population mean_initial.nii.gz Intra_subject.txt  EDS 3
 
Q4) According to what I understand, this step will affine align the mean_inital template using the previously outputted files (OUTPUT1 and OUTPUT2). Is this correct?

If so and probably my last question (before I dig more into Paul's next steps...),

Q5) I am not sure where to apply Gary's suggestion (before or after the previous commands) and what he meant with "the corresponding combined deformation":

 "For intra-subject normalization, to create each subject's half-space template, I'd warp each time point with the corresponding combined deformation, then average the resulting images (with TVMean).  This will eliminate one extra interpolation and reduce unnecessary blurring, providing a better image for the inter-subject normalization."


  
Thanks in advance,
Rodrigo

Hui Zhang

unread,
Jun 20, 2014, 11:40:56 AM6/20/14
to DTI ToolKit (DTI-TK)
Hi Rodrigo,

Thanks for this.  My comments are interleaved with your questions below.

Gary

On Wed, Jun 4, 2014 at 10:53 PM, Rodrigo Perea <gran...@gmail.com> wrote:
Hi all,
I'll attempt to make this more readable for those who are new at DTI-TK and future investigators that might like to use this process.

I've been trying to digest what it's been written before and I have a couple of doubts I wish somebody can help me. I've included my questions with a "Q#)" notation below.  

I am assuming Paul followed this example (http://dti-tk.sourceforge.net/pmwiki/pmwiki.php?n=Documentation.Registration ), which omits many of the steps explained before they go into the example and make it a little more confusing to follow :/ Anyhow, here is my attempt with my doubts...

Let first talk about the intra_subject registration. 
The steps I followed and according to Paul and  Gary's suggestions....

-------------------Intra-subject (within subject for Timepoint1 and timepoint2):

1. dti_template_bootstrap ixi_aging_template.nii.gz Intra_subject.txt EDS
     #According to my understanding and the output when I execute this command, this will:
     #First, this will generate a iteratively registration of each subject's timepoint1 and timepoint2 image to the template specified (in this case ixi_aging...) using the "EDS" similarity measure.

Correct.

So,
 
Q1) What does EDS stand for? Is it Euclidean distance of tensor measurement explained in Shiva's tensor pipeline?   

Correct but I suggest that you look at the original source, which is my 2006 Medical Image Analysis paper.
 
This command will generate 5 outputs:
OUTPUT1 -->  SubjT1.aff 
OUTPUT2 -->  SubT2.aff   ----> which stores the transformation matrix between every imagesT1/T2 space to the template after iteratively repeating the 
                                              registration process and a vector. 

Q2) How is the VECTOR important in this "tensor"? I use FSL and it's difficult to grasp a "tensor" notation in single 3D image rather than 4D images such as V*s or L*s. 

If I understand what you are asking, you are asking about the "vector" in the subjT1.aff (and subjT2.aff).  This is one of many ways to describe a linear transformation.  It has nothing to do with "tensor" in DTI.
 
Consequently, it also creates:

OUTPUT3 ---> SubjT1_aff.nii.gz
OUTPUT4 ---> SubjT1_aff.nii.gz  ----> which according to my understanding are the warped images when the .aff is applied to the each T1/T2 image 
                                                       space with the once iteratively registered to the template.

Correct.  More specifically, the warped DTI images.
 
And finally,
OUTPUT5 -->  mean_initial.nii.gz  --> my intuition tells me that this output is the mean (or averaged)  "new template" created from our previous 
                                                       registrations. I feel this is a little confusing name becuase I am not sure what the "mean" definition stands for... 

Q3) I would love a better explanation of mean_inital.nii.gz
 
This is an estimate of the average of T1 and T2.  The average is in the sense of average "SHAPE".  See this classic paper for detailed explanation:


It is labelled as "initial" to indicate that this is the very first estimate so far.  We will make this estimate more accurate as we go along.  See later.

The second command Paul suggests is:

2. dti_affine_population mean_initial.nii.gz Intra_subject.txt  EDS 3
 
Q4) According to what I understand, this step will affine align the mean_inital template using the previously outputted files (OUTPUT1 and OUTPUT2). Is this correct?

If so and probably my last question (before I dig more into Paul's next steps...),

Actually, it will further refine the average of T1 and T2 at the same time.

Q5) I am not sure where to apply Gary's suggestion (before or after the previous commands) and what he meant with "the corresponding combined deformation":

 "For intra-subject normalization, to create each subject's half-space template, I'd warp each time point with the corresponding combined deformation, then average the resulting images (with TVMean).  This will eliminate one extra interpolation and reduce unnecessary blurring, providing a better image for the inter-subject normalization."

After dti_affine_population, you need to then run dti_diffeomorphic_population still.  After running these two steps, you end up with two sets of transformations.  My comments suggest you combine these two as described here:

 

Gustavo Sudre

unread,
Sep 12, 2014, 5:52:36 PM9/12/14
to dt...@googlegroups.com
Gary,

Thanks for all your help with this. So, just to summarize, does this pipeline correctly represent what was done in your paper?

--> Create intra_subjs.txt file with all longitudinal tensors for subj X, one per line
dti_template_bootstrap ixi_aging_template.nii.gz intra_subjs.txt EDS
dti_affine_population mean_initial.nii.gz intra_subjs.txt  EDS 3
TVtool -in mean_affine3.nii.gz -tr
BinaryThresholdImageFilter mean_affine3_tr.nii.gz mask.nii.gz 0.01 100 1 0
dti_diffeomorphic_population mean_affine3.nii.gz intra_subjs_aff.txt mask.nii.gz 0.002
dti_warp_to_template_group intra_subjs.txt mean_diffeomorphic_initial6.nii.gz 2 2 2
--> Create intra_subjs_diffeo.txt file, with the _diffeo.nii.gz outputs from command above
TVMean -in intra_subjs_diffeo.txt -out mean_intra_subjX.nii.gz

Do the above for all subjects, such that in the end we have mean_intra_subj1.nii.gz … mean_intra_subjN.nii.gz

Then, for the inter-subject analysis:

ls -1 mean_intra_subj* > inter_subjs.txt
dti_template_bootstrap ixi_aging_template.nii.gz inter_subjs.txt EDS
dti_affine_population mean_initial.nii.gz inter_subjs.txt EDS 3
TVtool -in mean_affine3.nii.gz -tr
BinaryThresholdImageFilter mean_affine3_tr.nii.gz mask.nii.gz 0.01 100 1 0
dti_diffeomorphic_population mean_affine3.nii.gz inter_subjs_aff.txt mask.nii.gz 0.002   
dti_warp_to_template_group inter_subjs.txt mean_diffeomorphic_initial6.nii.gz 2 2 2
--> Create inter_subjs_diffeo.txt file, with the _diffeo.nii.gz outputs from command above
TVMean -in inter_subjs_diffeo.txt -out mean_group_template.nii.gz

Best,

Gustavo

Hui Zhang

unread,
Oct 16, 2014, 1:26:35 PM10/16/14
to DTI ToolKit (DTI-TK)
Hi Gustavo,

This looks correct.  Ultimately, we combine the displacement that maps each time point of each subject to its own subject mean with the displacement that maps the subject mean to the group mean.  This way, we can warp each time point of each subject to the group mean with a single interpolation.

Gary

--

---
You received this message because you are subscribed to the Google Groups "DTI-TK" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dtitk+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Rodrigo Perea

unread,
Dec 3, 2014, 5:16:21 PM12/3/14
to dt...@googlegroups.com
Gustavo and Gary,
Thanks for summarizing this information. However, when creating the mean_intra_subjX.nii.gz template for the intra-subject registration I am stucked in the 
"dti_warp_to_template_group intra_subjs.txt mean_diffeomorphic_initial6.nii.gz 2 2 2" command as it fails to find a <MySubjecT>_combined_df.nii.gz image that I presumed it gets created in the previous step. Any advice on how to approach this issue? 

Hui Zhang

unread,
Dec 5, 2014, 10:45:32 AM12/5/14
to DTI ToolKit (DTI-TK)
Hi Rodrigo,

The script dti_warp_to_template_group runs the script dti_warp_to_template in a loop over each time point in your intra_subjs.txt file.  I suggest that you first run dti_warp_to_template on each time point separately to see if any of the time points work.  This sort of failure typically results from earlier failures.  I suggest that you spend a bit of time understanding what gets saved at each stage of the process and how these intermediate files should look like.

Gary


--

---
You received this message because you are subscribed to the Google Groups "DTI-TK" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dtitk+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Gustavo Sudre

unread,
Dec 11, 2014, 12:01:50 PM12/11/14
to dt...@googlegroups.com
Gary,

Thanks for all your help. Now, just for the sake of completeness, say my original tensors for 2 longitudinal scans of subj1 are subj1-1_tensor.nii.gz and subj1-2_tensor.nii.gz. After running all steps above, I have subj1-1_tensor_diffeo.nii.gz and subj1-2_tensor_diffeo.nii.gz, which are the original tensor images in the intra-subject space. Also, I have mean_intra_subj1_combined.df.nii.gz, which takes tensors in subject space to the group template space, mean_group_template.nii.gz.

If I now want to take all my original data to the group template space, would the following sample command be correct?

deformationSymTensor3DVolume -in subj1-1_tensor_diffeo.nii.gz -target mean_group_template.nii.gz -trans mean_intra_subj1_combined.df.nii.gz -out subj1-1_tensor_inGroupSpace.nii.gz -vsize 1 1 1  

deformationSymTensor3DVolume -in subj1-2_tensor_diffeo.nii.gz -target mean_group_template.nii.gz -trans mean_intra_subj1_combined.df.nii.gz -out subj1-2_tensor_inGroupSpace.nii.gz -vsize 1 1 1  

Thanks a bunch,

Gustavo

Sila Genc

unread,
Jul 21, 2016, 11:55:40 PM7/21/16
to DTI-TK
Hi Gustavo,

It has been a while since this post, so I hope you can help me! Did these last two steps work for you to get the subjects into final template space? Also, how did you calculate mean_intra_subj1_combined.df.nii.gz?

Many thanks in advance,

Sila

Gustavo Sudre

unread,
Aug 17, 2016, 2:06:47 PM8/17/16
to dt...@googlegroups.com
Sila,

Sorry for the delay. Yes, I think I have a pipeline figured out. What steps do you need help with?

Best,


--

---
You received this message because you are subscribed to a topic in the Google Groups "DTI-TK" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dtitk/ciF3INwnGt8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dtitk+unsubscribe@googlegroups.com.

mhad...@gmail.com

unread,
Aug 1, 2017, 2:29:11 AM8/1/17
to DTI-TK, gsu...@pobox.com
Dear all, perhaps I was not able to understand the whole pipeline completely. I am stucking with the final step combining the deformation fields of the intrasubject and the intersubject registration.  Garry wrote "Ultimately, we combine the displacement that maps each time point of each subject to its own subject mean with the displacement that maps the subject mean to the group mean. This way, we can warp each time point of each subject to the group mean with a single interpolation."

I am wondering if this can be done within one single processing step. Or do I have to run dti_warp_to_template subj1.nii.gz template.nii.gz 2 2 2 for each intrasubject registration und the inter subject registration first? What will be the final command to combine the deformation fields to bring each individual tensor image to the group mean?

Thanks a lot for any help, Marcus


To unsubscribe from this group and all its topics, send an email to dtitk+un...@googlegroups.com.

Philip A Cook

unread,
Aug 1, 2017, 11:53:29 AM8/1/17
to dt...@googlegroups.com, gsu...@pobox.com
Hi,

The dti_warp_to_template script calls dfRightComposeAffine and then deformationSymTensor3DVolume.

For the intrasubject mapping, you build a template of all the subj1TimeX images, called subj1IntraSubjectTemplate.nii.gz. Then run, for the first time point,

dti_warp_to_template subj1Time1.nii.gz subj1IntraSubjectTemplate.nii.gz 2 2 2

This will make

subj1Time1_combined.df.nii.gz.

The group template is built from all the intra-subject templates, subjXIntraSubjectTemplate.nii.gz. So for subj1, run

dti_warp_to_template subj1IntraSubjectTemplate.nii.gz groupTemplate.nii.gz 2 2 2

This will make

subj1IntraSubjectTemplate_combined.df.nii.gz

Finally, you can use dfComposition to combine subj1Time1_combined.df.nii.gz and subj1IntraSubjectTemplate_combined.df.nii.gz. This will create a single warp field you can apply using deformationSymTensor3DVolume and subj1Time1.nii.gz, to produce output in the groupTemplate space.

You'd follow a similar procedure with the other time points.
Reply all
Reply to author
Forward
0 new messages