Description
Running FreeSurfer on clusters seems to be prone to NFS sync failures, which is difficult to resolve, as FreeSurfer is run directly in the output directory. While some nipype sync issues may be resolved by placing the working directory on /tmp
or some other local scratch that has higher consistency guarantees, to do the same for FreeSurfer would mean users then need to copy the final outputs to the output directory.
An alternative would be to allow a --fs-temporary-directory
flag that would run recon-all
on a local filesystem and copy to the output directory. I would recommend the default be <work_dir>/freesurfer
, but allow users to specify another location. It should be noted that one effect is to result in two copies of the data, which may trip up users running locally.
Example issue (can dig up more if we need evidence):
This is somewhat related to #27.