External Email - Use Caution        

As far as I can tell, recon-all.cmd provides the list of the underlying commands executed by the recon-all script. It does not provide the list of switches to recon-all to use to invoke these commands.

Even if it did, this would be the list of switches in the order as executed. Some steps can be interchanged because they are independent. Therefore, in the past, I was using  ReconAllTableStable from the Wiki to determine the coupling between the steps. And it worked for version 6. (I think I used a similar table from Wiki for 5.3, it was long ago I do not remember, but visually it looked different.)

Maybe I do not express the nature of the question precisely. It is also possible I do  not know what the nature of my question is. Based on information from ReconAllTableStable for ver 6 it looks like  -white must be called before -smooth2. I do not know what actually happened in version 6, but I know for sure that in version 6 my sequence of steps worked all the time. With version 7 I have:

step N:       recon-all -hemi lh -fix   SUCCESS
step (N+1):   recon-all -hemi lh -white -smooth2 -inflate2 -sphere -surfreg -cortparc -pial  FAIL

Errors:

mris_smooth -n 3 -nw -seed 1234 ../surf/lh.white.preaparc ../surf/lh.smoothwm

smoothing for 3 iterations
setting seed for random number generator to 1234
error: No such file or directory
error: MRISread(../surf/lh.white.preaparc): could not open file
error: No such file or directory
error: mris_smooth: could not read surface file ../surf/lh.white.preaparc

I check and indeed surf/lh.white.preaparc does not exist. According to ReconAllTableStable for ver 6, this file is created by -white and is needed for -smooth2. I therefore conclude that -white was not executed by recon-all before -smooth2. I see only two possibilities:
  1. The ordering of steps changed from version 6 to 7 or intermediate steps were introduced. I do not expect this, but I can not exclude this. If so, there is no bug. Instead, I should modify my sequence of steps. To do it myself, I would need ReconAllTableStable for ver 7 to establish proper sequence of steps. To do it with the help of developers, I need help in determining how coupling between steps changed from ver 6 to ver 7.
  2. The ordering of steps is the same in ver 6 and 7. I expect this to be the case. Then, my sequence of steps should still work. Since it does not, there is a bug in recon-all for ver 7. Beyond identifying a bug, I could provide help debugging it. Since I know the ordering of steps in 7 is the same as in 6,  ReconAllTableStable for ver 6 still applies. I could try going through the code to find where it breaks.

Which scenario is at play?

Roman


From: freesurfer-bounces@nmr.mgh.harvard.edu <freesurfer-bounces@nmr.mgh.harvard.edu> on behalf of Douglas N. Greve <dgreve@mgh.harvard.edu>
Sent: Monday, June 8, 2020 11:23 AM
To: freesurfer@nmr.mgh.harvard.edu <freesurfer@nmr.mgh.harvard.edu>
Subject: Re: [Freesurfer] ver 7.1: recon-all executes out of order? {Disarmed}
 
Oh, that table is wrong. I don't even think it was right for version 6. If you look in recon-all.cmd, you will see just the commands (and their order)

On 6/8/2020 10:38 AM, Roman Fleysher wrote:

        External Email - Use Caution        

Dear Douglas,

I do not think -s and -sd is essential to the issue. I just wanted to draw attention to this not standard call in my set up. There are reasons for it and it worked for version 6.

Yes, all prior steps of recon-all were executed, sometimes one by one, some times in bunches. The real point, as far as I could see, is that -white was not executed before -smooth2 started. The exact same sequence of commands on the exact same data worked using version 6.

Since ReconAllTableStable for version 7 does not exist, I do not know if the order of steps is really the same as in version 6. I do not expect the order of steps to change and thus I expect the sequence that worked for version 6 should work. My expectation could be wrong, of course.

Does version 7 introduce different order of processing or some intermediate steps that did not exist in version 6?

The previous and successfully completed step was "-hemi lh -fix". Would you expect "-hemi lh -white -smooth2 -inflate2 -sphere -surfreg -cortparc -pial" to be the right next step?

Thank you,

Roman




From: freesurfer-bounces@nmr.mgh.harvard.edu <freesurfer-bounces@nmr.mgh.harvard.edu> on behalf of Douglas N. Greve <dgreve@mgh.harvard.edu>
Sent: Monday, June 8, 2020 10:18 AM
To: freesurfer@nmr.mgh.harvard.edu <freesurfer@nmr.mgh.harvard.edu>
Subject: Re: [Freesurfer] ver 7.1: recon-all executes out of order?
 
I'm not sure what you are trying to communicate here abut -s and -sd. It is hard to debug without the log file. Had you run the earlier steps in the recon before running this command?

On 6/8/2020 1:25 AM, Roman Fleysher wrote:

        External Email - Use Caution        

Dear FreeSurfer Develovers,

FreeSurfer 7.1 was recently installed on our cluster. I am testing it and stumbled on the error. It is difficult for me to debug it myself (perhaps if MailScanner has detected a possible fraud attempt from "nam04.safelinks.protection.outlook.com" claiming to be https://surfer.nmr.mgh.harvard.edu/fswiki/ReconAllTableStableV7.1 existed it would help me). I hope you can help.

The symptom is that I run:

recon-all -s FOLDER_1 -hemi lh -white -smooth2 -inflate2 -sphere -surfreg -cortparc -pial -sd FOLDER_2

Notice strange combination: -s FOLDER_1 -sd FOLDER_2 . Data is actually in FOLDER_2 where specific subject is set up in the environmental variable. The error message in recon-all.log is:

mris_smooth -n 3 -nw -seed 1234 ../surf/lh.white.preaparc ../surf/lh.smoothwm

smoothing for 3 iterations
setting seed for random number generator to 1234
error: No such file or directory
error: MRISread(../surf/lh.white.preaparc): could not open file
error: No such file or directory
error: mris_smooth: could not read surface file ../surf/lh.white.preaparc


Indeed, file ../surf/lh.white.preaparc does not exist. It seems to indicate that -white was not actually executed before -smooth2. This command worked on version 6.0. Is this a bug in recon-all script version 7.1? Is this expected? 

Previous successful command on the same data was:

recon-all -s FOLDER_1 -hemi lh -fix -sd FOLDER_2

General info:

1) FreeSurfer version: freesurfer-linux-centos6_x86_64-7.1.0-20200511-813297b
2) Platform: likely CentOS, not sure how to tell
3) uname -a: Linux loginnode4 2.6.32-696.6.3.el6.694g0000.x86_64 #1 SMP Wed Jul 12 02:19:57 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
4) recon-all.log: not attached because folder structure contains sensitive information that is hard to remove.


Thank you,

Roman


_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
MailScanner has detected a possible fraud attempt from "nam04.safelinks.protection.outlook.com" claiming to be https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer


_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
MailScanner has detected a possible fraud attempt from "nam04.safelinks.protection.outlook.com" claiming to be https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer