ZOOMit partial volume alignment challenge

We collected a partial volume fMRI of posterior brain to image fusiform face area at high resolution.

We used the ZOOMit feature on our new 3 tesla Siemens Prisma scanner, which uses dynamic excitation pulses to achieve selective field of view imaging without aliasing artifacts.

I have tried to align the partial volume functional brik to the high res whole brain T1 volume collected during the same scan session using the commands below. These commands have worked for me on previous partial volume datasets acquired without ZOOMit and covering a larger extent of brain.

skullstrip and talairach T1 anatomy

set anat1 = {$ec}anatd1r1+orig
3dSkullStrip —orig_vol -prefix {$ec}anatd1r1_ns -input $anat1
@auto_tlrc -base TT_N27+tlrc -input {$ec}anatd1r1_ns+orig -no_ss -suffix NONE

deoblique the ZOOMit fMRI run

3dWarp -oblique2card -verb -prefix {$ec}d1r6_card -gridset {$ec}anatd1r1+orig {$ec}d1r6+orig

test partial volume alignment on ZOOMit fMR run

align_epi_anat.py -anat {$ec}anatd1r1_ns+orig. -epi {$ec}d1r6_card+orig. -epi_base 0 -volreg_base 2 -epi2anat
-master_epi MIN_DXYZ -partial_coverage -anat_has_skull no -suffix _al2edge -edge -overwrite
-tlrc_apar {$ec}anatd1r1_ns+tlrc. -child_epi {$ec}d1r6_card+orig.

Attached screenshots show raw fMRI data before alignment (ZOOMit_raw.jpg) and the result of the align_epi_anat.py (ZOOMit_align.jpg).

I’m happy to provide raw data files if anyone would like to take a closer look at this.

You may want to add “-deoblique off”, and I can’t really tell from the images if -edge is useful here. Try “-cost lpc+ZZ”. If you can’t find happiness, then you can upload some data with the instructions I have just PM’ed you.

Thank you for the suggestions. My modified command is:

align_epi_anat.py -anat {$ec}anatd1r1_ns+orig. -epi {$ec}d1r6_card+orig. -epi_base 0 -volreg_base 2 -epi2anat
-master_epi MIN_DXYZ -partial_coverage -deoblique off -cost lpc+ZZ -anat_has_skull no -suffix _al -overwrite
-tlrc_apar {$ec}anatd1r1_ns+tlrc.

But happiness remains elusive. I’ve uploaded the anat and functional briks with a README describing the commands I’ve tried.

Here is the secret to happiness:

3dWarp -card2oblique LUAd1r6+orig. -prefix anat_ob LUAanatd1r1+orig.
align_epi_anat.py -dset1 LUAanatd1r1+orig. -dset2 LUAd1r6+orig. -suffix _al2epi -cost nmi -dset1_strip None -dset2_strip None -master_anat anat_ob+orig.

The skullstripping doesn’t work well with this very, very partial data that is further limited by the fact that the most anterior and posterior coronal slices aren’t really useful. The example shows alignment of the anatomical to the EPI dataset sub-brick 0. I used the master_anat dataset to get the obliquity grid computed by 3dWarp, otherwise you can get too big a grid or one that’s cut off.

Wow! That works great.

What’s the differences between the two .1D files that are output?

[i]anatd1r1_al2epi_mat.aff12.1D

anatd1r1_al2epi_e2a_only_mat.aff12.1D[/i]

Is the former the transform from anat to epi and the later the inverse from epi to anat?

Tim

Sort of. The second one, should be the inverse transformation of the anat to epi, but not including any obliquity, motion correction or standard space transformation.