Partial coverage alignment question

Hi, Congcong-

I think the missing programs might just be bad luck for that version, due to an incomplete build from us. Someone else had noted that there were missing programs on the distributed open_mp_64 binaries for that specific version number, 24.0.10. We fixed that in a subsequent build, and everything seems to be there now. So if you ask the computer folks to update the AFNI binaries, that should be resolved. Sorry about that hassle.

NB: on our HPC, there is a cron job to check for new AFNI versions every day at 4pm, so we always stay uptodate with the latest version. I'm not sure if your local computer folks would like that approach, but we find it useful, esp. for getting the latest updates and any fixes.

Also, here is an updated version of the above script that shouldn't ask for skullstripping at all. In fact, we don't even want the "epi" dataset skullstripped here, because it is a slab---that was an oversight by me, since I was testing on a full-sized epi dataset (=dset_B in the script; NB: PT has updated this script to have better exit message about what datasets to overlay/underlay):

#!/bin/tcsh

# orig
set dset_A = DSET_ANAT
set dset_B = DSET_SLAB

# --------------------------------------------------------------------------

# deob
set aaa = `3dinfo -prefix_noext ${dset_A}`
set bbb = `3dinfo -prefix_noext ${dset_B}`
set dset_A_deob = "${aaa}_DEOB.nii.gz"
set dset_B_deob = "${bbb}_DEOB.nii.gz"

# ==========================================================================
# carry out deobliquing

adjunct_deob_around_origin                \
    -input   "${dset_A}"                  \
    -prefix  "${dset_A_deob}"

adjunct_deob_around_origin                \
    -input   "${dset_B}"                  \
    -prefix  "${dset_B_deob}"

# dset A: useful affine transforms (two formats: aff12.1D and 1D)
cat_matvec                                \
    -ONELINE                              \
    "${dset_A}"::IJK_TO_DICOM_REAL -I     \
    "${dset_A_deob}"::IJK_TO_DICOM_REAL   \
    > mat_A-I_Adeob.aff12.1D
cat_matvec                                \
    "${dset_A}"::IJK_TO_DICOM_REAL -I     \
    "${dset_A_deob}"::IJK_TO_DICOM_REAL   \
    > mat_A-I_Adeob.1D

# dset B: useful transform (just 1D is fine)
cat_matvec                                \
    "${dset_B}"::IJK_TO_DICOM_REAL -I     \
    "${dset_B_deob}"::IJK_TO_DICOM_REAL   \
    > mat_B-I_Bdeob.1D 

# dset A -> B: useful transforms (two formats: aff12.1D and 1D)
cat_matvec                                \
    mat_A-I_Adeob.1D                      \
    mat_B-I_Bdeob.1D -IP                  \
    > mat_A-I_Adeob-B-I_Bdeob-IP.1D
# FINAL pre-matrix
cat_matvec                                \
    mat_A-I_Adeob-B-I_Bdeob-IP.1D -I      \
    > mat_A-I_Adeob-B-I_Bdeob-IP-I.1D 

# =============================================================================
# do alignment, applying pre-matrix

align_epi_anat.py                                                            \
    -anat2epi                                                                \
    -anat             "${dset_A_deob}"                                       \
    -pre_matrix       mat_A-I_Adeob-B-I_Bdeob-IP-I.1D                          \
    -anat_has_skull   no                                                     \
    #-save_skullstrip                                                         \
    -suffix           _al_1to2                                               \
    -epi              "${dset_B_deob}"                                       \
    -epi_base         0                                                      \
    -epi_strip        None                                             \
    -cost             lpc                                                    \
    #-giant_move                                                              \
    -volreg           off                                                    \
    -tshift           off

cat <<EOF
---------------------------------------------
++ Done. To check alignment, set:

   ulay : ${aaa}_DEOB_al_1to2+orig.HEAD
   olay : ${dset_B_deob}

afni ${aaa}_DEOB_al_1to2+orig.HEAD ${dset_B_deob}

EOF

exit 0