I'm slightly reluctant to call an external utility function in a function implementing something as trivial as a Gaussian filter. Reading the code becomes much more cumbersome. What if I just add 

    if not isinstance(sigma, coll.Iterable):
        sigma = [sigma] * (image.ndim - 1)
    if len(sigma) != image.ndim:
        sigma = np.concatenate((np.asarray(sigma), [0]))

and I add a test for multichannel + iterable sigma.