I have an anisotropic image that is anisotropic both in terms of number of voxels and also in terms of voxel resolution.

 1. Number of voxels: 256x512x96 (wxhxd).
 2. Voxel resolution: 0.5x0.5x2.0 micrometer (wxhxd).

Now, to perform uniform Gaussian blurring, I need to choose different sigma values in each direction. How to choose them? I understand that in the direction of high resolution, the value of sigma should be less.

I could think of two approaches

# approach1: based on number of voxels.
resolution = [256, 512, 96]
sigma_x = 1 / resolution[0] # 0.0039
sigma_y = 1 / resolution[1] # 0.0019
sigma_z = 1 / resolution[2] # 0.01

# approach2: based on the physical voxel resolution.
resolution = [0.5, 0.5, 2.0]
sigma_x = resolution[0]
sigma_y = resolution[1]
sigma_z = resolution[2]

So, my question is which of the two approaches must I choose? Should I base them on number of voxels or physical voxel resolution?


1 Answer 1


Answer: neither.

  • The first approach is nonsense. Convince yourself of that by considering padding of arbitrary size. That'd affect the kernel when it should not because you considered the absolute number of voxels in the domain.

  • The second approach goes in the right direction but the math is wrong.

Simply scale linearly by inverse voxel resolution. This concept has nothing to do with gaussians or sigma. It's simply how you calculate between physical dimensions and samples, given some resolution.

$$ \sigma ~[\text{voxels}] = \frac{\sigma ~[\text{µm}]}{ \text{resolution} ~ [\text{µm}/\text{voxel}]} $$

For each dimension individually.

  • $\begingroup$ Thank you for your answer, but I have a follow-up question - am I correct in saying that if the resolution is high in a certain direction, then the sigma (standard deviation) should be less? If I am correct then, using your formula, I found that taking the inverse of the voxel resolution gives me sigma_w = sigma_h = 2.0 and sigma_d = 0.5. I have assumed scaling is 1. Can you please clarify this to me? I am getting higher sigma_w and sigma_h values than sigma_d. $\endgroup$
    – Harsha Y
    Jan 22 at 15:52
  • 1
    $\begingroup$ no. "high" resolution means fine resolution, i.e. a voxel is comparatively smaller. if that is the case, for the same physical size sigma, you need more voxels. just stare at the equation and rearrange it to whatever solution you need. I've also stated the units. working with units is important. -- I'd recommend taking the tour. you haven't accepted any answers to any of your previously asked questions. $\endgroup$ Jan 22 at 18:32
  • $\begingroup$ thank you. I had a different understanding actually. I thought it was common to use a larger sigma value in the direction with lower resolution because with lower resolution, the image has less detail and more noise, so more smoothing to reduce the noise. On the other hand, if the resolution was higher in a certain direction, a smaller sigma value is used in that direction, because there is more detail and less noise. But when you put it in terms of voxels, it gives a totally different comprehension. - Here, noise is not actually a "noise", but can be understood to account for missing details. $\endgroup$
    – Harsha Y
    Jan 22 at 20:33
  • $\begingroup$ when you said you wanted "uniform Gaussian blurring", I did take that to mean you wanted to define a gaussian to have the same physical scale each dimension. sampling rate/resolution is a concept orthogonal to noise. you did not say that you wanted resampling of your voxel data, or how the noise behaves. $\endgroup$ Jan 23 at 1:14
  • $\begingroup$ I'm not saying that what you said is wrong. I was just confused with a completely different concept, which is why I thought that the higher the resolution, the smaller the sigma value must be, and vice versa. In any case, I think I understood what I was trying to get at - the concept. I will mark your answer as "accepted". Thank you very much for your time. $\endgroup$
    – Harsha Y
    Jan 23 at 9:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.