hi peter,
it's because fsl's temporal filtering is implemented in terms of sigmas in volumes
----
>" -bptf <hp_sigma> <lp_sigma> : (-t in ip.c) Bandpass temporal filtering;
>nonlinear highpass and Gaussian linear lowpass (with sigmas in volumes, not
>seconds); set either sigma<0 to skip that filter"
----
technically this comes from
sigma in volumes = FWHM(window in seconds)/ (TR*sqrt(8*log(2)))
where,
sigma in secs = FWHM(seconds)/(sqrt(8*log(2)))
sigma in volumes = sigma in secs / TR
the denominator is a matter of conversion of fwhm to sigma and they approximate the real number sqrt(8*log(2)) ~ 2.35... with 2.
for fslmaths:
sigma = fwhm/(2*TR)
or
sigma = 1/(2*TR*cutoff_in_hz)
cheers,
satra
On Tue, May 22, 2012 at 3:23 PM, Peter Fried
<[log in to unmask]> wrote:
Hi FSL group,
I saw another post on this question, but no answer so far.
In the FEAT main Data tab, if I set the high pass filter cutoff to 100 sec (with high pass temporal filtering selected in Pre-stats),
the Pre-stats report states"
"high pass temporal filtering (Gaussian-weighted least-squares straight line fitting, with sigma=50.0s)."
and the log states:
fslmaths prefiltered_func_data_intnorm -bptf 20.0 -1 prefiltered_func_data_tempfilt
If I divide the cutoff (100) by the TR (2.5), I get
(100 sec / 2.5 vol/sec) = 40 vol
Why is the -bptf flag in fslmaths using a sigma of 20 instead of 40? Am I missing something or is it being divided in half?
The reason I'm asking is that I would like to substitute the high pass filter for a bandpass filter of 0.009-0.08 Hz. I have calculated the following values:
hp_sigma = (1/0.009)/2.5 = 44.44
lp_sigma = (1/0.08)/2.5 = 5
Are these the right values for fslmaths, or do they need to be divided in half?
Thanks.
Cheers,
Peter Fried
Boston University School of Medicine