Convolution texture

Good afternoon.

I am trying to understand how the kernel of convolutionTexture work.

I would like to know why 0,5f is added to the thread index:

const float x = (float)ix + 0.5f;
const float y = (float)iy + 0.5f;

thank you