SetSigma in sitk.SmoothingRecursiveGaussianImageFilter()

According to the documentation SetSigma is measured in the units of image spacing. If I have 3D image with spacing = [0.5, 0.5, 3] (mm) and sigma is set to 3, does this mean that I am smoothing 3mm isotropically? Or does this mean that sigma is 3 x [0.5, 0.5, 3] = [1.5, 1.5, 9] (mm)?

I found this in the source code:

Does this mean that the parameter sigma is divided by the spacing of the image to calculate how many pixels on each direction the filter smooths over?

suggestion: the documentation could be clearer about the sigma parameter. If it said that sigma is measured in real world units I think it would be helpful. Thanks.


Thank you for you suggestion and discussion. But technically it is not in “Physical Coordinates” ( common ITK term) because it does not take into consideration the direction cosine matrix. For that reason I think the existing wording is more accurate than your proposed wording. Though the original could be clearer… So further suggestions are quite welcomed!

1 Like

Thanks for the reply Bradley,

I just checked the ITK doxygen and it says now “world coordinates”. :+1: thanks for that.

As a user of the library I needed to know If sigma was in index space (voxels) or world space (mm in my case)