Suggestions for multiband processing with afni_proc.py

HI Afni experts,

I have multiband rs-fMRI data, acquired on a Seimens scanner, with TR=0.681s with 870 time points. This acquisition exactly follows the ADNI3 acquisition protocols.

Here is what I have started with for processing:

afni_proc.py -subj_id $line -dsets /data/data05/Studies/MCSA/RAW/MRI/$line/$RSN -copy_anat /data/data05/Studies/MCSA/RAW/MRI/$line/$T1 -blocks despike align volreg mask regress -tcat_remove_first_trs 10 -volreg_align_e2a -mask_apply epi -mask_segment_anat yes -mask_segment_erode yes -regress_apply_mot_types demean deriv -regress_run_clustsim yes -regress_est_blur_errts

3dresample -master errts.$line.tproject+orig -prefix DKT_resample -input /data/data05/melissa/MCSA_processing/t1_preproc/$line/freesurfer_DKT.nii
@MakeLabelTable -lab_file …/DKT.txt 1 0 -labeltable sub.niml.lt -dset DKT_resample+orig
3dcalc -a DKT_resample+orig -expr ‘step(a)’ -prefix DKT_mask
3dcalc -a errts.$line.tproject+orig -b DKT_mask+orig -expr ‘a*b’ -prefix errts_DKT_fs
3dNetCorr -prefix netcorr -mask mask_GM_resam+orig.BRIK -ts_out -fish_z -inset errts_DKT_fs+orig -in_rois DKT_resample+orig -output_mask_nonnull -push_thru_many_zeros -ts_wb_corr -ts_wb_strlabel
fat_mat_sel.py -m netcorr_000.netcc -P “FZ” --A_plotmin=0.27 --B_plotmax=1 --Tight_layout_on --dpi_file=75 -L 2 -d 300 -S 2

Can you please validate, if I am missing an important step in the preprocessing.
I am running the above script on my Alzheimer’s dataset.
We have a few followup scans. The resting state connectivity in the old acquisition with TR = 2s and 150 time-points was very low than what I see for the same patient in the new scans described above. For the comparison purpose, I preprocessed both the scans with the exact same pipeline.
I see very high correlations across the entire brain in the multiband acquisition but following the same connectivity pattern as in the old acquisition.
Any suggestions from experience?"

Naveed

Hi, Naveed-

This is a pretty tough thing to try to speculate on, because several things could be happening.

From your separate communication, it sounds like there is a difference in acquisitions here as well, with the “problem” data using multiband data. It is possible that that could be causing headaches, either via header information not being correct, or by having correlation across selected slices. I have never worked with multiband FMRI data, but my guess is that subtleties with this could be occurring here, starting from DICOM conversion.

I think in general that if this question were phrased about asking for suggestions in processing multiband data, others with experience in that particular area might be able offer suggestions.

Other things to possibly check:

You appear to have very high correlation across ROIs-- I will assume that you have checked the mapping/locations of those, and those are OK? Alignment to anatomical and segmentation are OK?

Something perhaps to try is using @radial_correlate on your time series, even before processing, to see if there are large patches of high correlation in your data sets? (With the idea being that there might be a leakage across slices or something?)

Also, have you converted the DICOMs in any particular way?

-pt

Hi Paul,

Thank you for your reply.
Yes, ROI mapping was based on the FreeSurfer non-linear registration to DKT atlas.
We converted DICOMs using dcm2nii command and run AFNI preprocessing with the nifti input to afni_proc.py
I ran @radial_correlate on the data and do not see a different pattern of correlations in both the acquisitions at 0.5 thresholds for the same subject data.

In addition, I preprocess the same subject with conn toolbox and I do not see much of a difference in the connectivity maps among the two acquisitions.

I assume I am missing an important step in the preprocessing of multiband data.

Any suggestion will be very helpful.

Thank you.
Naveed

Hi Afni Experts,

I am still waiting for your reply on my query.

Thank you.
Naveed

Hi Naveed,

With TR=0.681s, it seems likely that especially pulsation patterns will be seen in the data, which could drive correlations up. Make eroded lateral ventricle masks and run 3dpc to generate a few principal components and take a look. If they seem to have breathing or heart pulse patterns, consider regressing a few PCs (3?). Do you have physiological recordings?

  • rick

Hi, Rick.
Yes, I have the physiological recordings in *.resp and *.plus format. I can’t figure out how to use them with RetroTS.py. I asked this question earlier on the message board as well. Can you please help me to make a script for the procedures you mentioned?

Thank you.

Are those .resp and .plus files simple text files? They might be, try opening them in an editor.
If so, or once you figure out how to grab the text files, the questions become:

  1. What is the sampling rate?

  2. Are there any physio time points before the EPI acquisition begins?
    Be sure of this in reference to pre-steady state time, too.

  3. Are there any physio time points after the EPI acquisition ends?

You could start by running ‘wc’ on the files (to get the number of text lines).

  • rick

Hi Rick,

I found this information in the acquisition files

ECG Freq Per: 0 0^M
PULS Freq Per: 58 1033^M
RESP Freq Per: 14 4100^M
EXT Freq Per: 0 0^M
EXT2 Freq Per: 0 0^M
ECG Min Max Avg StdDiff: 202 815 533 166^M
PULS Min Max Avg StdDiff: 887 2211 1024 9^M
RESP Min Max Avg StdDiff: 3020 10220 4689 1023^M
EXT Min Max Avg StdDiff: 680 30005 680 241^M
EXT2 Min Max Avg StdDiff: 0 0 0 0^M
NrTrig NrMP NrArr AcqWin: 0 0 0 0^M
LogStartMDHTime: 35475862^M
LogStopMDHTime: 36365797^M
LogStartMPCUTime: 35475192^M
LogStopMPCUTime: 36365315^

I do not know which of these values should I pass to RetoTS.py as a sampling rate.

Please help me with it.

Thank you.