Anisotropic smoothing using 3dBlurInMask?(:D


I have been using the 3dBlurInMask function to smooth my fMRI data with a mask of the spinal cord. There is currently only the option to enter a FWHM to define an isotropic kernel. I would like to be able to use an anisotropic kernel with a mask, but there is currently no option in this function. (Nor can I do it in 3dBlurToFWHM, which I gather can perform the same/similar function to blur within a mask).

Unless there is some other way to perform anisotropic smoothing within a mask - is this a function that can or will be added?

Thank you!!

  • Kim

Not sure if this is what you want, 3danisosmooth takes a -mask option to limit the computations within the mask. 3dBlurInMask doesn’t do anisotropic smoothing, but can work across anisotropic voxel sizes, if that’s what you mean. The FWHM size is in mm, not by voxels.

Thanks! That function sounds like what I want, but I’m not sure how to make it work or if it does what I am intending.

Specifically what I’m looking for is what you mentioned first - to do anisotropic smoothing. For example, I would like to define my own smoothing kernel such as a Gaussian FWHM 2x2x6mm^3. So I’d like my smoothing along the z-axis to be greater.

As it stands, although the code has the ability to do different amounts of smoothing in different directions, the program interface does not have a method to deal with this situation. It could be changed, but …

Why do you want to do this thing?

Hi! Thanks for the reply. The reason I would to smooth anisotropically is because we are analyzing functional spinal cord data (with anisotropic voxels too), which others have shown to have improved sensitivity of task activation when using anisotropic kernels to increase smoothing along the longitudinal axis of the cord.

As far as I can tell, none of those others have used an anisotropic method AND used a mask, which is something I am particularly interested in to reduce any smoothing of adjacent CSF or intravascular noise into the spinal cord. For this reason, I’m specifically interested in the masking capabilities of 3dBlurInMask, as well as using an anisotropic kernel.

Working on making the change.
“Film at 11”
Clip from Kentucky Fried Movie

So 3danisosmooth doesn’t sound exactly like what you want either. While waiting Bob’s change, you might consider “3dmerge -1blur3D_fwhm bx by bz” that allows different blurs along 3 axes. Still, it doesn’t respect masks.

Thank you!