We should not allow any of the kernels to be zero. Instead, we should rather further require that any of the kernels are filled. Depending on how picky we get, we could request them to have a certain number of entries in them (depending on the binning), but this means this function will only be applicable for MC-filled kernels. So maybe we should either

  * expect the kernels to be normalized at this point and check for normalization
  * or as a minimum make sure we don't have any empty kernels anywhere, ala

    `if not np.all([np.sum(kernel)>0 for kernel in flatten(kernel_dict[flav][int_type]))`