Alff/FAlff using AFNI


I have resting state fmri data and i want to measure the alff and falff of the data using Afni. How can i do that??

Thank you for the help

Nikhil Gupta


Are you bandpassing your resting state data? And are you censoring your resting state data as you process it?

Censoring adds a bit of trickiness in estimating frequency magnitudes for either ALFF or fALFF, and bandpassing adds some headache in estimating the partial vs full spectrum ratio that makes up fALFF.


Thank you sir for the reply

I am bandpassing the resting state data.

i have bandpassed and censored my data using UBER_SUBJECT.PY command.

i dont know how to edit for ALFF analysis using 3dRSFC.

-Nikhil Gupta


So, you have bandpassed your data, so presumably your time series are just LFFs now. That means that fALFF cannot be estimated, since there is not the “full” spectrum to be calculated for the denominator of the ratio.

For ALFF, you mentioned in an email that your data were also censored when going through your pipeline. At present there isn’t a function for estimating ALFF when the data have been censored (because there are missing time points). I had started a function that could potentially do this, but will have to revisit it.


Hello sir,

So by doing bandpassing and censoring i will not be able to measure the alff and falff of my data.

i am using this script to measure alff is it correct -subj_id $subj
-script proc.$subj -scr_overwrite
-blocks despike tshift align tlrc volreg blur mask regress
-copy_anat $top_dir/co20141223_152112t1mpragetrap2iso10s023a1001.nii
-tcat_remove_first_trs 3
-dsets $top_dir/20141223_152112ep2dpaceTR2500rests005a001.nii \
-blur_size 6.0
-mask_apply epi
-mask_segment_anat yes
-mask_segment_erode yes
-regress_bandpass 0.01 0.1
-regress_apply_mot_types demean deriv
-regress_ROI WMe
-regress_run_clustsim no

 which function are you using to calculate alff?

Are you censoring? I don’t see any ‘-regress_censor*’ options in what you had placed there.

If you really are not censoring, then you could use 3dRSFC on the output time series to calculate ALFF, then. (However, you shouldn’t trust the fALFF results, because the non-LFF frequencies are already removed.)

And, again if you are not censoring, you could use the -regress_RSFC option within directly estimate by ALFF and fALFF during the processing (in that case, you can estimate fALFF, because the amplitudes of the full spectrum are estimated before bandpassing at the very end).

from the help:

-regress_RSFC           : perform bandpassing via 3dRSFC

            Use this option flag to run 3dRSFC after the linear regression
            step (presumably to clean resting state data).  Along with the
            bandpassed data, 3dRSFC will produce connectivity parameters,
            saved in the RSFC directory by the proc script.

            The -regress_bandpass option is required, and those bands will be
            passed directly to 3dRSFC.  Since bandpassing will be done only
            after the linear regression, censoring is not advisable.

            See also -regress_bandpass, -regress_censor_motion.
            Please see '3dRSFC -help' for more information.

But it would be good to be clear about your processing steps first.


Thank you sir for your help

regress_RSFC works fine


  I have my alff results can you help in interpreting the results.



Unfortunately, that is a much deeper/harder question than the methodology for calculation, and interpretation will depend specifically on your data and the hypotheses you are hoping to test.

The original ALFF/mALFF paper is by Zang et al. (2007), and the fALFF one is by Zou et al. (2008). The related parameter RSFA was introduced and discussed by Kannurpatti & Biswal (2008), and that might also help interpret the values. Working from there, you can check the literature on what those parameters are used for in general, and perhaps in the particular population in which you are looking (or in what you might expect to be a similar population, for the purposes of interpreting results).


Thank you sir