Hello, I had run a longitudinal run by creating a base template with a set of time-point scans (tpts). I wanted to add a new tpt (say new1) without recreating the base template, hence I used the option -addtp in the recon-all -long run. Later on, I no longer needed the results of the long run for new1. So I removed the relevant directories for new1 (i.e. new1 and new1.long.baseid).
Now I have another tpt (say new2) for which I want a -long run without recreating the base template. So I did the same thing as before i.e. first a cross run for new2 (which worked fine) and then a long-run with -addtp option. However, the long-run for new2 failed with an error that it cannot find $SUBJECTS_DIR/new1/mri/norm.mgz
I realize that although I had removed the relevant directories of new1, it is still listed in the file $SUBJECTS_DIR/baseid/base-tps. However, I do not understand why norm.mgz of new1 is needed by recon-all for a long run on new2 when I did not want FreeSurfer to use either of new1 or new2 to recreate the base. Ideally, I would want to run long run on new1 and new2 under identical conditions. In other words, I do not want long-run on new2 tpt to require results from long run on new1 tpt. Should it not be the expected behaviour when I am not using new1 and/or new2 to create the base template ? And, is there a way to do achieve what I want to without manually deleting the new1 from the list in the file $SUBJECTS_DIR/baseid/base-tps ?
P.S. Initially, the -addtp option had not worked and I had to do the following to make it work:
The FreeSurfer version: 5.3.0. Getting around a know bug. in recon-all in the following block (around line 6148)
if ( ! $found_tpNid ) then echo "ERROR: $tpNid is not in ${longbasedir}/${BaseSubjsListFname}" echo "" exit 1 endif
replaced the first line (if statement) with:
if ( ! $found_tpNid && ! $DoAddTp ) then