This functionality is currently not supported.
Hi, Chris,
I also encountered similar problem with my own data when using recon function (with --fs-no-reconall, I could finish the preprocessing)
Here is the log from recon-all.log:
Mon Mar 11 00:13:28 UTC 2019
/out/out/freesurfer/sub-001
/opt/freesurfer/bin/recon-all
-autorecon1 -i /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz -noskullstrip -cw256 -hires -openmp 7 -subjid sub-001 -sd /out/out/freesurfer -expert /work/fmriprep_wf/single_subject_001_wf/anat_preproc_wf/surface_recon_wf/autorecon1/expert.opts
subjid sub-001
setenv SUBJECTS_DIR /out/out/freesurfer
FREESURFER_HOME /opt/freesurfer
Actual FREESURFER_HOME /opt/freesurfer
build-stamp.txt: freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.1-f53a55a
Linux 3e5932778b80 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
cputime unlimited
filesize unlimited
datasize unlimited
stacksize 8192 kbytes
coredumpsize unlimited
memoryuse unlimited
vmemoryuse unlimited
descriptors 1048576
memorylocked 16384 kbytes
maxproc unlimited
maxlocks unlimited
maxsignal 63302
maxmessage 819200
maxnice 0
maxrtprio 0
maxrttime unlimitedtotal used free shared buff/cache available
Mem: 16284864 4278568 2888448 294604 9117848 11211380
Swap: 7812092 456192 7355900########################################
program versions used
$Id: recon-all,v 1.580.2.16 2017/01/18 14:11:24 zkaufman Exp $
$Id: mri_motion_correct.fsl,v 1.15 2016/02/16 17:17:20 zkaufman Exp $
mri_convert.bin -all-info
ProgramName: mri_convert.bin ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:28-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_convert.c,v 1.226 2016/02/26 16:15:24 mreuter Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
FLIRT version 5.5
$Id: talairach_avi,v 1.13 2015/12/23 04:25:17 greve Exp $
mri_convert.bin --version
stable6
ProgramName: tkregister2_cmdl ProgramArguments: --all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:28-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: tkregister2.c,v 1.132.2.1 2016/08/02 21:17:29 greve Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
Program nu_correct, built from:
Package MNI N3, version 1.12.0, compiled by nicks@terrier (x86_64-unknown-linux-gnu) on 2015-06-19 at 01:25:34
ProgramName: mri_make_uchar ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:28-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_make_uchar.c,v 1.4 2011/03/02 00:04:14 nicks Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_normalize ProgramArguments: -all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:28-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_normalize.c,v 1.88.2.3 2016/12/27 16:47:13 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_watershed ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:28-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_watershed.cpp,v 1.103 2016/06/17 18:00:49 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_gcut ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_gcut.cpp,v 1.14 2011/03/02 00:04:16 nicks Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_segment ProgramArguments: -all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_segment.c,v 1.43.2.1 2016/10/27 22:24:52 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_label2label.bin ProgramArguments: -all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_label2label.c,v 1.48.2.2 2016/12/12 14:15:26 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_em_register ProgramArguments: -all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_em_register.c,v 1.105.2.1 2016/10/27 22:25:10 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_ca_normalize ProgramArguments: -all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_ca_normalize.c,v 1.67.2.2 2016/10/27 22:25:09 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_ca_register ProgramArguments: -all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_ca_register.c,v 1.96.2.3 2016/10/27 22:25:10 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_ca_label ProgramArguments: -all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_ca_label.c,v 1.113.2.2 2016/10/27 22:25:10 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_pretess ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_pretess.c,v 1.22 2013/08/30 18:12:25 mreuter Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_fill ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_fill.c,v 1.119 2011/10/25 14:09:58 fischl Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_tessellate ProgramArguments: -all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_tessellate.c,v 1.38.2.1 2016/07/26 18:46:38 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_concatenate_lta.bin ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_concatenate_lta.c,v 1.16 2015/11/21 00:06:20 greve Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_normalize_tp2 ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_normalize_tp2.c,v 1.8 2011/03/02 00:04:23 nicks Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_smooth ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_smooth.c,v 1.30 2014/01/21 18:48:21 fischl Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_inflate ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_inflate.c,v 1.45 2016/01/20 23:42:15 greve Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_curvature ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_curvature.c,v 1.31 2011/03/02 00:04:30 nicks Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_sphere ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_sphere.c,v 1.61 2016/01/20 23:42:15 greve Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_fix_topology ProgramArguments: -all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_fix_topology.c,v 1.50.2.1 2016/10/27 22:25:58 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_topo_fixer ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_topo_fixer.cpp,v 1.29 2011/03/02 00:04:34 nicks Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_ca_label ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_ca_label.c,v 1.37 2014/02/04 17:46:42 fischl Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_euler_number ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_euler_number.c,v 1.10 2013/01/14 22:39:14 greve Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_make_surfaces ProgramArguments: -all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_make_surfaces.c,v 1.164.2.4 2016/12/13 22:26:32 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_register ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_register.c,v 1.63 2016/01/20 23:43:04 greve Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_volmask ProgramArguments: --all-info ProgramVersion: $Name: $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_volmask.cpp,v 1.26.2.2 2016/11/18 20:05:18 zkaufman Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_anatomical_stats ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_anatomical_stats.c,v 1.79 2016/03/14 15:15:34 greve Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mrisp_paint ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mrisp_paint.c,v 1.12 2016/03/22 14:47:57 fischl Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_curvature_stats ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_curvature_stats.c,v 1.65 2015/06/04 20:50:51 nicks Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mris_calc ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mris_calc.c,v 1.54.2.1 2016/09/27 18:51:28 greve Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
$Id: mri_robust_register.cpp,v 1.77 2016/01/20 23:36:17 greve Exp $ProgramName: mri_robust_register.bin ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_robust_register.cpp,v 1.77 2016/01/20 23:36:17 greve Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
$Id: mri_robust_template.cpp,v 1.54 2016/05/05 21:17:08 mreuter Exp $ProgramName: mri_robust_template ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_robust_template.cpp,v 1.54 2016/05/05 21:17:08 mreuter Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_and ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_and.c,v 1.4 2011/03/02 00:04:13 nicks Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_or ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_or.c,v 1.5 2013/03/20 15:03:29 lzollei Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_fuse_segmentations ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_fuse_segmentations.c,v 1.8 2011/03/02 00:04:15 nicks Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_segstats ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_segstats.c,v 1.121 2016/05/31 17:27:11 greve Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
ProgramName: mri_relabel_hypointensities ProgramArguments: -all-info ProgramVersion: $Name: stable6 $ TimeStamp: 2019/03/11-00:13:29-GMT BuildTimeStamp: Oct 20 2017 13:59:15 CVS: $Id: mri_relabel_hypointensities.c,v 1.13 2015/05/15 18:44:10 nicks Exp $ User: root Machine: 3e5932778b80 Platform: Linux PlatformVersion: 4.15.0-46-generic CompilerName: GCC CompilerVersion: 40400
#######################################
GCADIR /opt/freesurfer/average
GCA RB_all_2016-05-10.vc700.gca
GCASkull RB_all_withskull_2016-05-10.vc700.gca
AvgCurvTif folding.atlas.acfb40.noaparc.i12.2016-08-02.tif
GCSDIR /opt/freesurfer/average
GCS DKaparc.atlas.acfb40.noaparc.i12.2016-08-02.gcs
#######################################
-cw256 option is now persistent (remove with -clean-cw256)
/out/out/freesurfer/sub-001mri_convert /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz /out/out/freesurfer/sub-001/mri/orig/001.mgz
mri_convert.bin /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz /out/out/freesurfer/sub-001/mri/orig/001.mgz
$Id: mri_convert.c,v 1.226 2016/02/26 16:15:24 mreuter Exp $
reading from /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz…
TR=1900.00, TE=0.00, TI=0.00, flip angle=0.00
i_ras = (1, 1.94477e-16, -1.10357e-16)
j_ras = (-2e-16, 0.998622, -0.0524728)
k_ras = (1e-16, 0.0524728, 0.998622)
writing to /out/out/freesurfer/sub-001/mri/orig/001.mgz…
#--------------------------------------------
#@# MotionCor Mon Mar 11 00:13:41 UTC 2019
Found 1 runs
/out/out/freesurfer/sub-001/mri/orig/001.mgz
Checking for (invalid) multi-frame inputs…
WARNING: only one run found. This is OK, but motion
correction cannot be performed on one run, so I’ll
copy the run to rawavg and continue.cp /out/out/freesurfer/sub-001/mri/orig/001.mgz /out/out/freesurfer/sub-001/mri/rawavg.mgz
/out/out/freesurfer/sub-001
mri_convert /out/out/freesurfer/sub-001/mri/rawavg.mgz /out/out/freesurfer/sub-001/mri/orig.mgz --conform_min
mri_convert.bin /out/out/freesurfer/sub-001/mri/rawavg.mgz /out/out/freesurfer/sub-001/mri/orig.mgz --conform_min
$Id: mri_convert.c,v 1.226 2016/02/26 16:15:24 mreuter Exp $
reading from /out/out/freesurfer/sub-001/mri/rawavg.mgz…
TR=1900.00, TE=0.00, TI=0.00, flip angle=0.00
i_ras = (1, 1.94477e-16, -1.10357e-16)
j_ras = (-2e-16, 0.998622, -0.0524728)
k_ras = (1e-16, 0.0524728, 0.998622)
changing data type from float to uchar (noscale = 0)…
MRIchangeType: Building histogram
Reslicing using trilinear interpolation
writing to /out/out/freesurfer/sub-001/mri/orig.mgz…
ERROR! FOV=259.201 > 256
Include the flag -cw256 with recon-all!
Inspect orig.mgz to ensure the head is fully visible.
Linux 3e5932778b80 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
recon-all -s sub-001 exited with ERRORS at Mon Mar 11 00:13:54 UTC 2019
To report a problem, see http://surfer.nmr.mgh.harvard.edu/fswiki/BugReporting
Are you reusing an old working directory?
Hi, Oscar,
Thanks for your response!
Can you specify a bit? I am not sure that I fully understand what “an old working directory” means.
Below is my code:
docker run --rm -it \
-v /media/hcp4715/USB1/Data/RepDopa/BIDS_test/Nifti:/data:ro \
-v /media/hcp4715/USB1/Data/RepDopa/BIDS_test/Nifti/derivatives:/out \
-v /media/hcp4715/OS/host/freesurf_license/license.txt:/license/license.txt \
-v /media/hcp4715/study/fmriprep_tmp:/work \
poldracklab/fmriprep:1.3.1 \
/data /out/out \
participant --participant-label 001 \
-w /work \
--fs-license-file /license/license.txt
No worries, the question is whether you have some old fmriprep run on /media/hcp4715/study/fmriprep_tmp
. Since you are passing that to be mounted at /work
and then the working directory is set there -w /work
, it could be the case that you are running an old instance of the interfaces (although I must say this is very unlikely).
Hey, Oscar,
That’s not likely the case, because I already emptied the folder before I run.
Thanks, I’ll double check this on our end. Stay tuned!
Update: sMRIPrep does add the -cw256
flag when running this dataset. I’ll find out why fMRIPrep (which imports the surface reconstruction workflow from sMRIPrep) is not picking it up.
@hcp4715 It seems to work for me. I’m running:
docker run -it --rm -u $( id -u ) \
-v $HOME/.freesurfer6.txt:/opt/fslicense.txt:ro \
-v $HOME/datalad/ds000157:/data:ro \
-v $PWD:/tmp -w /tmp \
poldracklab/fmriprep:1.3.1 \
/data out/ participant \
--participant-label 01 --omp-nthreads 8 --nthreads 10 \
-vv --fs-license /opt/fslicense.txt
And I get:
$ cat work/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/surface_recon_wf/autorecon1/command.txt
recon-all -autorecon1 -i /tmp/work/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/anat_template_wf/t1_conform/mapflow/_t1_conform0/sub-01_T1w_ras.nii.gz -noskullstrip -cw256 -openmp 8 -subjid sub-01 -sd /tmp/out/freesurfer
As you’ll see, the -cw256
argument is properly set. I think the old arguments are cached somewhere, so please start fresh wiping out both work and out directories.
Please let us know whether that worked for you.
Hi, Oscar,
I ran the analysis again. Yes, the -cw256 argument was also there in the recon-all.log. but still I got the same error.
Does that means my data has problem?
Below are the crash log:
Node: fmriprep_wf.single_subject_001_wf.anat_preproc_wf.surface_recon_wf.autorecon1
Working directory: /tmp/fmriprep_wf/single_subject_001_wf/anat_preproc_wf/surface_recon_wf/autorecon1
Node inputs:
FLAIR_file = <undefined>
T1_files = ['/data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz']
T2_file = <undefined>
args = <undefined>
big_ventricles = <undefined>
brainstem = <undefined>
directive = autorecon1
environ = {}
expert = <undefined>
flags = ['-noskullstrip', '-cw256']
hemi = <undefined>
hippocampal_subfields_T1 = <undefined>
hippocampal_subfields_T2 = <undefined>
hires = True
mprage = <undefined>
mri_aparc2aseg = <undefined>
mri_ca_label = <undefined>
mri_ca_normalize = <undefined>
mri_ca_register = <undefined>
mri_edit_wm_with_aseg = <undefined>
mri_em_register = <undefined>
mri_fill = <undefined>
mri_mask = <undefined>
mri_normalize = <undefined>
mri_pretess = <undefined>
mri_remove_neck = <undefined>
mri_segment = <undefined>
mri_segstats = <undefined>
mri_tessellate = <undefined>
mri_watershed = <undefined>
mris_anatomical_stats = <undefined>
mris_ca_label = <undefined>
mris_fix_topology = <undefined>
mris_inflate = -n 50
mris_make_surfaces = <undefined>
mris_register = <undefined>
mris_smooth = <undefined>
mris_sphere = <undefined>
mris_surf2vol = <undefined>
mrisp_paint = <undefined>
openmp = 8
parallel = <undefined>
subject_id = sub-001
subjects_dir = /tmp/out/freesurfer
talairach = <undefined>
use_FLAIR = <undefined>
use_T2 = <undefined>
xopts = <undefined>
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py", line 69, in run_node
result['result'] = node.run(updatehash=updatehash)
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 473, in run
result = self._run_interface(execute=True)
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 557, in _run_interface
return self._run_command(execute)
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 637, in _run_command
result = self._interface.run(cwd=outdir)
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 375, in run
runtime = self._run_interface(runtime)
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 758, in _run_interface
self.raise_exception(runtime)
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 695, in raise_exception
).format(**runtime.dictcopy()))
RuntimeError: Command:
recon-all -autorecon1 -i /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz -noskullstrip -cw256 -hires -openmp 8 -subjid sub-001 -sd /tmp/out/freesurfer -expert /tmp/fmriprep_wf/single_subject_001_wf/anat_preproc_wf/surface_recon_wf/autorecon1/expert.opts
Standard output:
INFO: hi-res volumes are conformed to the min voxel size
Subject Stamp: freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.1-f53a55a
Current Stamp: freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.1-f53a55a
INFO: SUBJECTS_DIR is /tmp/out/freesurfer
Actual FREESURFER_HOME /opt/freesurfer
Linux 5c08ef032aee 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
'/opt/freesurfer/bin/recon-all' -> '/tmp/out/freesurfer/sub-001/scripts/recon-all.local-copy'
-cw256 option is now persistent (remove with -clean-cw256)
/tmp/out/freesurfer/sub-001
mri_convert /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz /tmp/out/freesurfer/sub-001/mri/orig/001.mgz
mri_convert.bin /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz /tmp/out/freesurfer/sub-001/mri/orig/001.mgz
$Id: mri_convert.c,v 1.226 2016/02/26 16:15:24 mreuter Exp $
reading from /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz...
TR=1900.00, TE=0.00, TI=0.00, flip angle=0.00
i_ras = (1, 1.94477e-16, -1.10357e-16)
j_ras = (-2e-16, 0.998622, -0.0524728)
k_ras = (1e-16, 0.0524728, 0.998622)
writing to /tmp/out/freesurfer/sub-001/mri/orig/001.mgz...
#--------------------------------------------
#@# MotionCor Tue Mar 12 13:15:36 UTC 2019
Found 1 runs
/tmp/out/freesurfer/sub-001/mri/orig/001.mgz
Checking for (invalid) multi-frame inputs...
WARNING: only one run found. This is OK, but motion
correction cannot be performed on one run, so I'll
copy the run to rawavg and continue.
cp /tmp/out/freesurfer/sub-001/mri/orig/001.mgz /tmp/out/freesurfer/sub-001/mri/rawavg.mgz
/tmp/out/freesurfer/sub-001
mri_convert /tmp/out/freesurfer/sub-001/mri/rawavg.mgz /tmp/out/freesurfer/sub-001/mri/orig.mgz --conform_min
mri_convert.bin /tmp/out/freesurfer/sub-001/mri/rawavg.mgz /tmp/out/freesurfer/sub-001/mri/orig.mgz --conform_min
$Id: mri_convert.c,v 1.226 2016/02/26 16:15:24 mreuter Exp $
reading from /tmp/out/freesurfer/sub-001/mri/rawavg.mgz...
TR=1900.00, TE=0.00, TI=0.00, flip angle=0.00
i_ras = (1, 1.94477e-16, -1.10357e-16)
j_ras = (-2e-16, 0.998622, -0.0524728)
k_ras = (1e-16, 0.0524728, 0.998622)
changing data type from float to uchar (noscale = 0)...
MRIchangeType: Building histogram
Reslicing using trilinear interpolation
writing to /tmp/out/freesurfer/sub-001/mri/orig.mgz...
****************************************
ERROR! FOV=259.201 > 256
Include the flag -cw256 with recon-all!
Inspect orig.mgz to ensure the head is fully visible.
****************************************
Linux 5c08ef032aee 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
recon-all -s sub-001 exited with ERRORS at Tue Mar 12 13:15:49 UTC 2019
For more details, see the log file /tmp/out/freesurfer/sub-001/scripts/recon-all.log
To report a problem, see http://surfer.nmr.mgh.harvard.edu/fswiki/BugReporting
Standard error:
Return code: 1
Hi @hcp4715 this looks like worth posting on FreeSurfer’s mailing list. I think this is not fMRIPrep’s fault. Before escalating the issue, could we wait for @effigies to double check I’m right?
It looks like -cw256
and -hires
are mutually exclusive.
From recon-all
:
case "-hires":
set HiRes = 1;
set ConformMin = 1;
echo "INFO: hi-res volumes are conformed to the min voxel size"
# per testing by Natalia Zaretskaya, Mar 2015, the flags which
# normally disable the aseg steps are no longer necessary (which
# means aseg.mgz can be created with hi-res data).
breaksw
...
if($ConformMin) then
set cmd = ($cmd --conform_min)
else
set cmd = ($cmd --conform)
if($DoConformWidth256 || -e $subjdir/tmp/cw256) then
# force conform width to 256
set cmd = ($cmd --cw256)
# see note just below on when -cw256 is necessary (ie, when FOV > 256)
endif
endif
So feel free to report it as a bug to the list, but you’re unlikely to find a simple resolution. I think your best options are (a) --no-submm-recon
, if you don’t care about using the extra resolution; or (b) cropping your original image to a suitably small FoV.
Hi, Chris,
I tried the first approach, used codes, but got the same error.
Did I use the --no-submm-recon
incorrectly?
docker run --rm -it \
-v /media/hcp4715/USB1/Data/RepDopa/BIDS_test/Nifti:/data:ro \
-v /media/hcp4715/USB1/Data/RepDopa/BIDS_test/Nifti/derivatives:/out \
-v /media/hcp4715/OS/host/freesurf_license/license.txt:/license/license.txt:ro \
-v /media/hcp4715/study/tmp:/tmp \
poldracklab/fmriprep:1.3.1 \
/data /out/ \
participant --participant-label 001 \
--omp-nthreads 8 --nthreads 6 \
-w /tmp \
-vv --fs-license /license/license.txt
--no-submm-recon
Error log:
RuntimeError: Command:
recon-all -autorecon1 -i /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz -noskullstrip -cw256 -hires -openmp 8 -subjid sub-001 -sd /out/freesurfer -expert /tmp/fmriprep_wf/single_subject_001_wf/anat_preproc_wf/surface_recon_wf/autorecon1/expert.opts
Standard output:
INFO: hi-res volumes are conformed to the min voxel size
Subject Stamp: freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.1-f53a55a
Current Stamp: freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.1-f53a55a
INFO: SUBJECTS_DIR is /out/freesurfer
Actual FREESURFER_HOME /opt/freesurfer
Linux c06a4a912929 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
'/opt/freesurfer/bin/recon-all' -> '/out/freesurfer/sub-001/scripts/recon-all.local-copy'
-cw256 option is now persistent (remove with -clean-cw256)
/out/freesurfer/sub-001
mri_convert /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz /out/freesurfer/sub-001/mri/orig/001.mgz
mri_convert.bin /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz /out/freesurfer/sub-001/mri/orig/001.mgz
$Id: mri_convert.c,v 1.226 2016/02/26 16:15:24 mreuter Exp $
reading from /data/sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz...
TR=1900.00, TE=0.00, TI=0.00, flip angle=0.00
i_ras = (1, 1.94477e-16, -1.10357e-16)
j_ras = (-2e-16, 0.998622, -0.0524728)
k_ras = (1e-16, 0.0524728, 0.998622)
writing to /out/freesurfer/sub-001/mri/orig/001.mgz...
#--------------------------------------------
#@# MotionCor Thu Mar 14 01:05:48 UTC 2019
Found 1 runs
/out/freesurfer/sub-001/mri/orig/001.mgz
Checking for (invalid) multi-frame inputs...
WARNING: only one run found. This is OK, but motion
correction cannot be performed on one run, so I'll
copy the run to rawavg and continue.
cp /out/freesurfer/sub-001/mri/orig/001.mgz /out/freesurfer/sub-001/mri/rawavg.mgz
/out/freesurfer/sub-001
mri_convert /out/freesurfer/sub-001/mri/rawavg.mgz /out/freesurfer/sub-001/mri/orig.mgz --conform_min
mri_convert.bin /out/freesurfer/sub-001/mri/rawavg.mgz /out/freesurfer/sub-001/mri/orig.mgz --conform_min
$Id: mri_convert.c,v 1.226 2016/02/26 16:15:24 mreuter Exp $
reading from /out/freesurfer/sub-001/mri/rawavg.mgz...
TR=1900.00, TE=0.00, TI=0.00, flip angle=0.00
i_ras = (1, 1.94477e-16, -1.10357e-16)
j_ras = (-2e-16, 0.998622, -0.0524728)
k_ras = (1e-16, 0.0524728, 0.998622)
changing data type from float to uchar (noscale = 0)...
MRIchangeType: Building histogram
Reslicing using trilinear interpolation
writing to /out/freesurfer/sub-001/mri/orig.mgz...
****************************************
ERROR! FOV=259.201 > 256
Include the flag -cw256 with recon-all!
Inspect orig.mgz to ensure the head is fully visible.
****************************************
Linux c06a4a912929 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
recon-all -s sub-001 exited with ERRORS at Thu Mar 14 01:06:01 UTC 2019
Hi @hcp4715, I think the likely problem is here:
With no slash at the end of the next-to-last line, the last line is not part of the command, hence why you’re still seeing -hires
in the recon-all
command.
Also, I suspect you’re already doing this, but just in case, be sure to delete the subject directory (/media/hcp4715/USB1/Data/RepDopa/BIDS_test/Nifti/derivatives/freesurfer/sub-001
), to ensure that a clean recon-all
is run.
thanks for spotting this error!
Now the code is running (already more than 8 hours)!!
PS: I asked my colleague about the FOV of the T1 image of my data (224 * 320 * 320, checked from MRIcron), he told me that it need to be reslice to 260.
If your study is actively acquiring more data, you may want to look into your protocol and optimize the FoV prescription, as you are acquiring a fair volume of just noise.
Other than that, I don’t think you should reslice the images at all. Maybe crop out Y and Z to 255 (if you crop to 260 you still won’t be able to use the high resolution recon-all). Please do not reslice the data, just crop the data array and update the affine information if necessary.
Hi, @oesteban, thanks for your response! I checked our scanning protocol, the actual FoV is 260 mmm but the size are indeed 224 * 320 * 320.
If need to crop the data to 256, which python based tool would you recommend?
Also, @oesteban nd @effigies , after adding --no-submm-recon
properly, it seems that I finally finished preprocessing of one participant without error in the report!
But I do have an error message in my terminal:
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 101, in _python_exit
thread_wakeup.wakeup()
File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 89, in wakeup
self._writer.send_bytes(b"")
File "/usr/local/miniconda/lib/python3.7/multiprocessing/connection.py", line 183, in send_bytes
self._check_closed()
File "/usr/local/miniconda/lib/python3.7/multiprocessing/connection.py", line 136, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
You can use nibabel
. I would recommend doing this with an interactive session:
from matplotlib import pyplot as plt
import nibabel as nb
img = nb.load('sub-001/ses-d1/anat/sub-001_ses-d1_T1w.nii.gz')
# Check to make sure that the large dimensions are 1 and 2
assert img.shape == (224, 320, 320)
cropped = img.slicer[:, 32:-32, 32:-32]
# Check that you haven't cropped anything important
cropped.orthoview()
# If nothing shows, you may need to then use:
plt.show()
cropped.to_filename('sub-001/ses-d1/anat/sub-001_ses-d1_desc-cropped_T1w.nii.gz')
You can fiddle around with cropping options until you get one you like.
That looks annoying but harmless, to me.
Hi, Chris,
Thanks for your quick response!!
Will try your code here. Just one silly question before I try: will fmriprep automatically recognize the cropped T1w image and use it as the anatomical image in the preprocessing?
No, I don’t believe it will, and if it does, it will try to combine it with your original. So you’ll want to replace it. I’m just not comfortable sending you code to overwrite your data. So if you write directly to that path, I trust you’ll have backups of the original, in case something goes wrong.