AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

History of AFNI updates  

|
February 22, 2021 11:17AM
Hello,

I am modifying MACAQUE_DEMO_REST to work with my data. Experimenting with EPI-anat alignment, I found that EPI stripping with 3dAutomask fails with my data but stripping with 3dSkullStrip works fine.

So in my modified script I start afni_proc.py with the following options:
set cost_a2e = "lpa+ZZ"
[...]
afni_proc.py                                                              \
            -subj_id                 ${subj}                                      \
            -script                  ${odir_ap}/proc.$subj.${state} -scr_overwrite         \
            -out_dir                 ${odir_ap}/${subj}.${state}.results                   \
            -blocks tshift align tlrc volreg mask scale regress                   \
            -dsets                   ${subj_epi}                                  \
            -copy_anat               "${dset_subj_anat}"                          \
            -anat_has_skull          no                                           \
            -anat_uniform_method     none                                         \
            -radial_correlate_blocks tcat volreg                                  \
            -radial_correlate_opts   -sphere_rad 14                               \
            -tcat_remove_first_trs   2                                            \
            -volreg_align_to         MIN_OUTLIER                                  \
            -volreg_align_e2a                                                     \
            -volreg_tlrc_warp                                                     \
            -align_opts_aea          -cost ${cost_a2e} -feature_size 0.5          \
                                     -partial_coverage -epi_strip 3dSkullStrip    \
                                     -giant_move -cmass cmass                     \
            -tlrc_base               ${refvol}                                    \
            -tlrc_NL_warp                                                         \
            -tlrc_NL_warped_dsets                                                 \
                ${odir_aw}/${subj}*_warp2std_nsu.nii.gz                           \
                ${odir_aw}/${subj}*_composite_linear_to_template.1D               \
                ${odir_aw}/${subj}*_shft_WARP.nii.gz                              \
            -regress_motion_per_run                                               \
            -regress_apply_mot_types  demean deriv                                \
            -regress_censor_motion    0.10                                        \
            -regress_censor_outliers  0.02                                        \
            -regress_est_blur_errts                                               \
            -regress_est_blur_epits                                               \
            -regress_run_clustsim     no                                          \
            -html_review_style        pythonic                                    \
            -execute


but this results in a proc script in which align_epi_anat.py is called like this:
align_epi_anat.py -anat2epi -anat subjGB7T_anat_ns+orig            \
       -suffix _al_junk                                            \
       -epi vr_base_min_outlier+orig -epi_base 0                   \
       -epi_strip 3dAutomask                                       \
       -anat_has_skull no                                          \
       -cost lpa+ZZ -feature_size 0.5 -partial_coverage -epi_strip \
       3dSkullStrip -giant_move -cmass cmass                       \
       -volreg off -tshift off
Note the -epi_strip occurs twice, and because the alignment fails (unlike in tests when I run align_epi_anat.py separately, see below for that script), I understand that the first option is used.

What am I doing wrong?

Testing align_epi_anat.py options (this gives me good alignment)
align_epi_anat.py -anat2epi 					\
	   -anat subjGB7T_anat_ns+orig   			\
       -epi zpad_vr_base+orig		\
       -epi_base 0               				\
       -suffix _al_edge_lpaZZ_SS_deobli_sep_partcov_gm_cc			\
       -epi_strip 3dSkullStrip         		\
       -anat_has_skull no        				\
       -cost lpa+ZZ -feature_size 0.5 			\
       -giant_move \
       -cmass cmass  \
       -volreg off -tshift off 		\
       -partial_coverage
Subject Author Posted

passing EPI skull stripping option from afni_proc.py to align_epi_anat.py

Pawel February 22, 2021 11:17AM

Re: passing EPI skull stripping option from afni_proc.py to align_epi_anat.py

Daniel Glen February 22, 2021 04:15PM

Re: passing EPI skull stripping option from afni_proc.py to align_epi_anat.py

Pawel February 22, 2021 05:34PM