Dear Clemens,

I now see where is the problem:

The current implementation of recon-all -talairach step is quite complicated, 
as far as I understand:

The -talairach registration step produces talairach.auto.xfm. If the 
talairach.xfm exists, it is not overwritten by talairach.auto.xfm (unless 
-clean-tal is specified on the command line). For further recon-all processing 
steps the talairach.xfm is used. It assures that when talairach.xfm is edited 
(for example by tkregister2), the edits are not overwritten, but only IN THIS 
VERY STEP.

Further step is talairach failure detection, which uses talariach.xfm. When the 
failure detection passes, everything is ok and recon-all proceeds further 
(using talairach.xfm). However, when the failure detection indicates failure, 
the current implementation is to use alternative talairach registration 
procedures - first it is trying to align to 3T-based atlas and if it also 
fails, it is trying to use MINC mritotal tool. And here comes the problem: In 
both these steps the talairach.xfm is by default OVERWRITTEN by 
talairach.auto.xfm. This has consequence, that when user is modyfying 
talairach.xfm (i.e. by tkregister2) and this modified talairach.xfm also do not 
pass failure detection, it is OVERWRITTEN as indicates following lines in your 
recon-all.log code:
cp transforms/talairach.auto.xfm transforms/talairach.xfm I personally think 
that this is not very optimal behaviour and it deserves modification of the 
recon-all code by developers.

So the remedy for your case would be:

either
try to align better your data in tkregister2, and rerun trecon-all -s subj_id 
-all until you pass talairach failure detection of your customized 
talairach.xfm. If the talairach check failed and your talairach.xfm is 
overwritten, you will find it in the subdirectory transforms-bak.

or
after tkregister2, rerun your data by adding -notal-check to your recon-all:
recon-all -s subj_id -all -notal-check

Antonin





Dear Antonin 
 
Yes, that is the directory where - after failed recon-all - I  opened, manually 
registered, then saved the talairach.xfm file. Before I  re-ran recon-all, I 
reopened the modified talairach.xfm file with   tkregister2 to verify that it 
was my manual registration, which was  true. 
 
I attached the recon-all log and error files and the talairach and 
talairach-avi log file. 
 
Version: freesurfer-Darwin-OSX-stable-pub-v6.0.0-2beb96c 
 
Clemens 
 
 
-----freesurfer-boun...@nmr.mgh.harvard.edu schrieb: ----- 
An: freesurfer@nmr.mgh.harvard.edu 
Von: Antonin Skoch  
Gesendet von: freesurfer-boun...@nmr.mgh.harvard.edu 
Datum: 16.08.2017 12:23 
Betreff: Re: [Freesurfer] Antwort: Re: use manually defined talairach.xfm 
 
Dear Clemens, 
 
I am almost out of ideas, since the behaviour is contrary to my expectations. 
 
I would expect that if you run your recon by  
 
recon-all -s subject_id -all 
 
the files you named  
 
before_recon-all_talairach.xfm and after_recon-all_alairach.xfm 
 
should be identical. 
 
Could you assure that after tkregister2, you saved the transform file under 
name talairach.xfm and put into directory  
 
/Volumes/PromisePegasus/HippocampusPreparedT1Data/subjects/x140214_b02_0917040_3_1_wipmp2rage0p8mmsenseV42_reOrient/mri/transforms
  ? 
What freeSurfer version are you using? Could you post full recon-all output? 
 
 
Antonin 
 


Hi Antonin

Thank you for your reply.Here is what I did:
1.      tkregister2 --mgz --s 
x140214_b02_0917040_3_1_wipmp2rage0p8mmsenseV42_reOrient --fstal
2.      manual registration (see attached file “before_recon-all_talairach.xfm”)
3.      re-run recon-all, which is:     recon-all -s 
x140214_b02_0917040_3_1_wipmp2rage0p8mmsenseV42_reOrient -all 
-hippocampal-subfields-T1

This resulted in the following error message:
#@# Talairach Failure Detection Wed Aug 16 08:53:15 CEST 2017
/Volumes/PromisePegasus/HippocampusPreparedT1Data/subjects/x140214_b02_0917040_3_1_wipmp2rage0p8mmsenseV42_reOrient/mri
\n talairach_afd -T 0.005 -xfm transforms/talairach.xfm \n
ERROR: talairach_afd: Talairach Transform: transforms/talairach.xfm 
***FAILED*** (p=0.0622, pval=0.0034 < threshold=0.0050)
\nManual Talairach alignment may be necessary, or
include the -notal-check flag to skip this test,
making sure the -notal-check flag follows -all
or -autorecon1 in the command string.
See:\n
http://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial/Talairach

\nERROR: Talairach failed!\n


The file that I now find in the “transforms” folder is attached 
(“after_recon-all_talairach.xfm”).

I also attached the two talairach.auto.xfm but I didn’t modify these at any 
point.
(Should I? If so, how do I?)

Clemens


-----freesurfer-boun...@nmr.mgh.harvard.edu schrieb: -----
An: freesurfer@nmr.mgh.harvard.edu
Von: Antonin Skoch 
Gesendet von: freesurfer-boun...@nmr.mgh.harvard.edu
Datum: 15.08.2017 16:46
Betreff: Re: [Freesurfer] use manually defined talairach.xfm

Dear Clemens,

this is very strange, since the talairach.xfm is not by default overwritten in 
recon-all (unless you specified -clean-tal to recon-all).

When you rerun your recon-all after modifying talairach.xfm, your automatic 
talairach registration will be saved into talairach.auto.xfm, therefore 
talairach.auto.xfm and talairach.xfm will be different (without editing they 
will be identical).

See the excerpt of the recon-all -help:

Talairach (-<no>talairach)

This computes the affine transform from the orig volume to the MNI305
atlas using Avi Snyders 4dfp suite of image registration tools,
through a FreeSurfer script called talairach_avi. Several of the downstream
programs use talairach coordinates as seed points. You can/should check
how good the talairach registration is using
"tkregister2 --s subjid --fstal-avi". You must have an "fsaverage" subject in
your SUBJECTS_DIR. tkregister2 allows you to compare the orig volume
against the talairach volume resampled into the orig space. If you modify
the registration, it will change the talairach.xfm file. Your edits will
be *not* be overwritten unless you run recon-all specifying -clean-tal.
Run "tkregister2 --help" for more information.
Creates the files mri/transform/talairach.auto.xfm and talairach.xfm.
The flag -tal-check will check the registration against known-good transforms.
Adding the flag -use-mritotal after -talairach will use the MINC program
mritotal (see Collins, et al., 1994) to perform the transform.

Can you check that your edited talairach.xfm is indeed modified to default 
after recon-all rerun? Do the talairach.xfm and talairach.auto.xfm differ?

Antonin




Hi

I got a Talairach Failure Detection Error and therefore did manual registration 
using tkregister2 following the advice at:
https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial/Talairach_freeviewAgain 
following the advice on the site, I re-ran recon-all just to run into the 
identical error. When I checked talairach.xfm it was the same as BEFORE I did 
manual registration in tkregister2.

The above site states: 
Because the talairach transformation affects everything in the stream it  is 
necessary to rerun the whole process using your new talairach, which  is a 
default.

However, it seems this is not the default since recon-all comes up with its own 
talairach.xfm and overwrites my manual version, after which recon-all fails.

How can I make recon-all use my manual registration?



_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer


The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.

Reply via email to