Full map convolution has the advantage that the domain does not have any edges. Thus, we can simply compute the kernel using the neighbours we found.
However, for subdomains that's not the case: we have edges, and thus have to deal with boundary conditions. With 2D convolution (for example, the convolution of images), this is usually resolved by either padding the input image (with various modes), or by cropping the output image.
To do the same for healpix we have to either:
find a way to pad the map (with the same modes as standard 2D padding) before the convolution, then crop back to the original domain afterwards
find tricks to avoid the padding. For example:
mode="constant" and fill_value=0 can be implemented by computing the kernel weights as usual and normalizing, but then throwing away all the input pixel weights that are outside the original domain
mode="wrap" can be implemented by replacing the original neighbour with one on the other side of the domain
mode="reflect" / mode="symmetric" can be implemented by adjusting the weights of doubled pixels
Full map convolution has the advantage that the domain does not have any edges. Thus, we can simply compute the kernel using the neighbours we found.
However, for subdomains that's not the case: we have edges, and thus have to deal with boundary conditions. With 2D convolution (for example, the convolution of images), this is usually resolved by either padding the input image (with various modes), or by cropping the output image.
To do the same for healpix we have to either:
pad
the map (with the same modes as standard 2D padding) before the convolution, then crop back to the original domain afterwardsmode="constant"
andfill_value=0
can be implemented by computing the kernel weights as usual and normalizing, but then throwing away all the input pixel weights that are outside the original domainmode="wrap"
can be implemented by replacing the original neighbour with one on the other side of the domainmode="reflect"
/mode="symmetric"
can be implemented by adjusting the weights of doubled pixels