Hey Paul (it's Brendan), I noticed I've been getting the same error as discussed here in a surface based pipeline (so no mask). I had run the same pipeline for block design data recently and had no issue with generating the QC outputs (without a mask block), but I get the same error for the event-related data. I blur for the block-design but not the event related-design data. Beyond -regreess_opts_3dD for various contrasts, there isn't any difference between the two pipelines. Do I need to put in a dummy mask block as well?
Hi, Brendan-
Can you please post your AP command, the exact error message output and your AFNI version?
I still have to address the other APQC HTML generation issue from the other (volumetric) processing post. However, for surface-based processing, I am not seeing this issue if I run either the AFNI Bootcamp surface processing example command, which does not include a mask block (using AFNI ver=26.1.00):
afni_proc.py \
-subj_id ${subj}.surf \
-dsets ${sdir_func}/${subj}_task-av_run-01_bold.nii.gz \
${sdir_func}/${subj}_task-av_run-02_bold.nii.gz \
${sdir_func}/${subj}_task-av_run-03_bold.nii.gz \
-copy_anat ${sdir_ssw}/anatSS.${subj}.nii \
-anat_has_skull no \
-blocks tshift align volreg surf blur scale regress \
-radial_correlate_blocks tcat volreg \
-tcat_remove_first_trs 2 \
-align_unifize_epi local \
-align_opts_aea -cost lpc+ZZ \
-giant_move \
-check_flip \
-volreg_align_to MIN_OUTLIER \
-volreg_align_e2a \
-volreg_compute_tsnr yes \
-surf_anat ${sdir_suma}/${subj}_SurfVol.nii \
-surf_spec ${sdir_suma}/std.60.${subj}_lh.spec \
${sdir_suma}/std.60.${subj}_rh.spec \
-blur_size 6.0 \
-regress_stim_times ${sdir_func}/times.vis.txt \
${sdir_func}/times.aud.txt \
-regress_stim_labels vis aud \
-regress_basis 'BLOCK(20,1)' \
-regress_censor_motion 0.3 \
-regress_censor_outliers 0.05 \
-regress_motion_per_run \
-regress_opts_3dD -jobs 2 \
-gltsym 'SYM: vis -aud' \
-glt_label 1 V-A \
-regress_compute_fitts \
-regress_make_ideal_sum sum_ideal.1D \
-regress_run_clustsim no \
-html_review_style pythonic
... nor the same command without the blur block and associated -blur ... option.
thanks,
pt
Hi Paul, I am running 26.0.
This one runs fine:
afni_proc.py -subj_id $subj \
-script proc-${run_type}_surf.${proj}.sub-${subj} \
-scr_overwrite \
-out_dir ${proc_dir} \
-blocks despike tshift align volreg surf blur scale regress \
-copy_anat ${ssw_dir}/anatSS.${subj_id}.nii \
-anat_follower anat_w_skull anat ${ssw_dir}/anatU.${subj_id}.nii \
-anat_follower_ROI aaseg anat ${suma_dir}/aparc.a2009s+aseg.nii \
-anat_follower_ROI aeseg epi ${suma_dir}/aparc.a2009s+aseg.nii \
-dsets ${proj_path}/sub-${subj}/ses-01/func/*${run_type}*bold.nii.gz \
-tcat_remove_first_trs 4 \
-tcat_remove_last_trs 5 \
-despike_new -NEW \
-align_opts_aea -cost lpc+ZZ -giant_move -check_flip \
-volreg_align_to MIN_OUTLIER \
-volreg_align_e2a \
-volreg_warp_final_interp wsinc5 \
-volreg_compute_tsnr yes \
-surf_anat ${suma_dir}/sub-${subj}_SurfVol.nii \
-surf_spec ${suma_dir}/std.141.sub-${subj}_?h.spec \
-blur_size 3 \
-regress_stim_times ${onset_dir}/all/*${run_type}* \
-regress_stim_labels \
arm face foot hand leg torso \
-regress_basis 'SPMG1(16)' \
-regress_motion_per_run \
-regress_opts_3dD \
-num_glt 11 \
-jobs 20 \
-gltsym 'SYM: +1.0*arm -0.2*face -0.2*foot -0.2*hand -0.2*leg -0.2*torso' \
-glt_label 1 arm_vs_all \
-gltsym 'SYM: -0.2*arm +1.0*face -0.2*foot -0.2*hand -0.2*leg -0.2*torso' \
-glt_label 2 face_vs_all \
-gltsym 'SYM: -0.2*arm -0.2*face +1.0*foot -0.2*hand -0.2*leg -0.2*torso' \
-glt_label 3 foot_vs_all \
-gltsym 'SYM: -0.2*arm -0.2*face -0.2*foot +1.0*hand -0.2*leg -0.2*torso' \
-glt_label 4 hand_vs_all \
-gltsym 'SYM: -0.2*arm -0.2*face -0.2*foot -0.2*hand +1.0*leg -0.2*torso' \
-glt_label 5 leg_vs_all \
-gltsym 'SYM: -0.2*arm -0.2*face -0.2*foot -0.2*hand -0.2*leg +1.0*torso' \
-glt_label 6 torso_vs_all \
-gltsym 'SYM: +1.0*arm -1.0*face' \
-glt_label 7 arm_vs_face \
-gltsym 'SYM: +1.0*foot -1.0*face' \
-glt_label 8 foot_vs_face \
-gltsym 'SYM: +1.0*hand -1.0*face' \
-glt_label 9 hand_vs_face \
-gltsym 'SYM: +1.0*leg -1.0*face' \
-glt_label 10 leg_vs_face \
-gltsym 'SYM: +1.0*torso -1.0*face' \
-glt_label 11 torso_vs_face \
#-regress_reml_exec \
-regress_censor_motion $mpar \
-regress_censor_outliers 0.05 \
#-regress_compute_fitts \
-regress_apply_mot_types demean deriv \
#-regress_est_blur_epits \
#-regress_est_blur_errts \
#-regress_make_ideal_sum sum_ideal.1D \
-execute
But when I run this one:
afni_proc.py -subj_id $subj \
-script proc-${run_type}_surf.${proj}.sub-${subj} \
-scr_overwrite \
-out_dir ${proc_dir} \
-blocks despike tshift align volreg surf scale regress \
-copy_anat ${ssw_dir}/anatSS.${subj_id}.nii \
-anat_follower anat_w_skull anat ${ssw_dir}/anatU.${subj_id}.nii \
-anat_follower_ROI aaseg anat $suma_dir/aparc.a2009s+aseg.nii \
-anat_follower_ROI aeseg epi $suma_dir/aparc.a2009s+aseg.nii \
-dsets ${proj_path}/sub-${subj}/ses-*/func/*${run_type}*bold.nii.gz \
-tcat_remove_first_trs 4 \
-tcat_remove_last_trs 5 \
-despike_new -NEW \
-align_opts_aea -cost lpc+ZZ -giant_move -check_flip \
-volreg_align_to MIN_OUTLIER \
-volreg_align_e2a \
-volreg_warp_final_interp wsinc5 \
-volreg_compute_tsnr yes \
-surf_anat ${suma_dir}/sub-${subj}_SurfVol.nii \
-surf_spec ${suma_dir}/std.141.sub-${subj}_?h.spec \
-regress_stim_times ${onset_dir}/*${run_type}* \
-regress_basis 'SPMG1(4)' \
-regress_motion_per_run \
-regress_opts_3dD \
-jobs 20 \
#-regress_reml_exec \
-regress_censor_motion 0.2 \
-regress_censor_outliers 0.05 \
#-regress_compute_fitts \
-regress_apply_mot_types demean deriv \
#-regress_est_blur_epits \
#-regress_est_blur_errts \
#-regress_make_ideal_sum sum_ideal.1D \
-execute
I get this error:
apqc_make_tcsh.py -review_style pythonic -subj_dir . -uvar_json out.ss_review_uvars.json
+* Found no corr_brain+*.HEAD dset, but continuing
++ APQC create: blurred errts for IC & corr_brain
errts.03.lh.niml.dset_blur_for_qc.nii.gz
corr_brain_blur_for_qc.nii.gz
++ Done making (executable) IC pbrun script:
run_instacorr_pbrun.tcsh
++ Done making (executable) GV pbrun script:
run_graphview_pbrun.tcsh
++ APQC create: qc_00_vorig_EPI
++ APQC create: qc_01_vorig_EPI_variance
++ APQC create: qc_02_vorig_anat
++ APQC create: qc_03_vorig_olap
++ APQC create: qc_04_ve2a_epi2anat
++ APQC create: qc_05_ve2a_mask2final
++ APQC create: qc_06_mot_enormoutlr
++ APQC create: qc_07_mot_VR6
++ APQC create: qc_08_regr_df
++ APQC create: qc_09_regr_corr_errts
Traceback (most recent call last):
File "/Users/brendanritchie/abin/apqc_make_tcsh.py", line 912, in <module>
cmd = lat.apqc_regr_corr_errts( ap_ssdict, obase, "regr",
"corr_errts",
ulay, focusbox )
File "/Users/brendanritchie/abin/afnipy/lib_apqc_tcsh.py", line 3381, in apqc_regr_corr_errts
with open(pbar_json, 'r') as fff:
~~~~^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'QC_03/media/qc_09_regr_corr_errts.pbar.json'
Hi, Brendan-
I was a little confused because I took your second command, and used data from the Bootcamp example and inserted those, but I could not get the same error. The following ran all the way through for me (not that SPMG1 should be used for this task, but that doesn't matter when investigating the crash...):
afni_proc.py \
-subj_id ${subj}.surf_NEW4 \
-blocks despike tshift align volreg surf scale \
regress \
-copy_anat ${sdir_ssw}/anatSS.${subj}.nii \
-anat_follower anat_w_skull anat \
${sdir_ssw}/anatU.${subj}.nii \
-dsets ${sdir_func}/${subj}_task-av_run-01_bold.nii.gz \
-tcat_remove_first_trs 4 \
-tcat_remove_last_trs 5 \
-despike_new -NEW \
-align_opts_aea -cost lpc \
-large_move \
-check_flip \
-volreg_align_to MIN_OUTLIER \
-volreg_align_e2a \
-volreg_warp_final_interp wsinc5 \
-volreg_compute_tsnr yes \
-surf_anat ${sdir_suma}/${subj}_SurfVol.nii \
-surf_spec ${sdir_suma}/std.60.${subj}_lh.spec \
${sdir_suma}/std.60.${subj}_rh.spec \
-regress_stim_times ${sdir_func}/times.vis.txt \
${sdir_func}/times.aud.txt \
-regress_basis 'SPMG1(4)' \
-regress_motion_per_run \
-regress_opts_3dD -jobs 20 \
-regress_censor_motion 0.2 \
-regress_censor_outliers 0.05 \
-regress_apply_mot_types demean deriv \
-regress_run_clustsim no \
-execute
Then I noticed this commit in the repo, which had the commit message, "apqc_make_tcsh.py -> lib_apqc_tcsh.py: fix error when no blur on surf proc". This commit was made on Jan 19 of this year, so depending on exactly which version you have of 26.0.*, that issue is probably actually already resolved for your processing. So, if you just update your AFNI, that should resolve it.
Please let me know if that is so.
--pt
So, I suspect if you update your vers
Hi Paul, yeah I had 26.0.0 so before this was fixed. I just updated to 26.1.0 and it ran successfully (without the blur block in afni_proc.py). Thanks for your help with this!