Bandpassing and the polort option

Dear all,

I have a quick question regarding the combined use of


-regress_bandpass x y
-regress_polort x

in AFNI proc.

By default, AFNI proc automatically adjusts the option “regress_polort” depending on the run’s length. I often read the recommendation here on the AFNI board that IF one really wants to bandpass the data, say from 0.01-0.1 Hz, one should additionally set “regress_polort 2” in case the runs are very long and AFNI proc uses a polort option that is too high.

Lets say I have a TR of 1s and 900 sampling points, and I would like to bandpass from 0.01-0.2 Hz. Wouldn’t the the option “regress_polort 2” be superfluous in this case, or is it advised to use both the bandpass filter and the polort opton set to 2, 3 or any other value?

The help file for 3dDeconvolve (https://afni.nimh.nih.gov/pub/dist/doc/program_help/3dDeconvolve.html) states that
[quote=“For pnum > 2, this type of baseline detrending
is roughly equivalent to a highpass filter
with a cutoff of (p-2)/D Hz, where ‘D’ is the
duration of the imaging run: D = N*TR”]

[/quote]

Let’s say I use “regress_polort 3”. In this case, the polort option regresses frequencies below 0.001111… Hz. But the “bandpass” option, namely 0.01-0.2 Hz, already includes a high-pass filter of 0.01.

Question 1: why is the polort option still recommend when one bandpasses anyway, or is it not and regress_polort 0 should be used?
Question 2: Moreover, the cited 3dDeconvolve formula above only states what happens for a polort option bigger than 2. But what happens when polort 2 is used? Since p-2 (2-2) equals 0 and the resulting frequency of (2-2)/D would always be 0?

Thanks,
Philipp

Hi Philipp,

Sorry for not getting to this.

Q1. When using -regress_bandpass 0.01 XXXX, where XXXX might be 1, 99, or 0.1 for passband, it is good to apply -polort 2. This is not specific to very long runs (though long runs might make bandpassing more likely). It is just that the shape of a quadratic is not well represented by sinusoids. So when bandpassing, it is good to include just those lower polynomial degrees separately.

Q2. The cited 3dDeconvolve formula does not apply to pnum <= 2 for the reasons stated in Q1.

Basically, if you use bandpassing as a high-pass filter, include ‘-polort 2’.

We could have afni_proc.py complain about potential mistakes with this, but it might be challenging to figure out exactly when it should complain and when not.

Maybe just another warning?

  • rick

Hi Rick,

thanks, this answers my questions.
In short, when bandpassing via AFNI proc, -polort 2 is a recommended way to go.

Thanks,
Philipp