parameters: (input, sigma, order=0, output=None,
                      mode="reflect", cval=0.0, truncate=4.0)
return_statement: return output
docstring: Multidimensional Gaussian filter.
  
      Parameters
      ----------
      %(input)s
      sigma : scalar or sequence of scalars
          Standard deviation for Gaussian kernel. The standard
          deviations of the Gaussian filter are given for each axis as a
          sequence, or as a single number, in which case it is equal for
          all axes.
      order : int or sequence of ints, optional
          The order of the filter along each axis is given as a sequence
          of integers, or as a single number.  An order of 0 corresponds
          to convolution with a Gaussian kernel. A positive order
          corresponds to convolution with that derivative of a Gaussian.
      %(output)s
      %(mode_multiple)s
      %(cval)s
      truncate : float
          Truncate the filter at this many standard deviations.
          Default is 4.0.
  
      Returns
      -------
      gaussian_filter : ndarray
          Returned array of same shape as `input`.
  
      Notes
      -----
      The multidimensional filter is implemented as a sequence of
      one-dimensional convolution filters. The intermediate arrays are
      stored in the same data type as the output. Therefore, for output
      types with a limited precision, the results may be imprecise
      because intermediate results may be stored with insufficient
      precision.
  
      Examples
      --------
      >>> from scipy.ndimage import gaussian_filter
      >>> a = np.arange(50, step=2).reshape((5,5))
      >>> a
      array([[ 0,  2,  4,  6,  8],
             [10, 12, 14, 16, 18],
             [20, 22, 24, 26, 28],
             [30, 32, 34, 36, 38],
             [40, 42, 44, 46, 48]])
      >>> gaussian_filter(a, sigma=1)
      array([[ 4,  6,  8,  9, 11],
             [10, 12, 14, 15, 17],
             [20, 22, 24, 25, 27],
             [29, 31, 33, 34, 36],
             [35, 37, 39, 40, 42]])
  
      >>> from scipy import misc
      >>> import matplotlib.pyplot as plt
      >>> fig = plt.figure()
      >>> plt.gray()  # show the filtered result in grayscale
      >>> ax1 = fig.add_subplot(121)  # left side
      >>> ax2 = fig.add_subplot(122)  # right side
      >>> ascent = misc.ascent()
      >>> result = gaussian_filter(ascent, sigma=5)
      >>> ax1.imshow(ascent)
      >>> ax2.imshow(result)
      >>> plt.show()
docstring_summary: Multidimensional Gaussian filter.
docstring_tokens: Multidimensional Gaussian filter .
function: def gaussian_filter(input, sigma, order=0, output=None,
                      mode="reflect", cval=0.0, truncate=4.0):
      """Multidimensional Gaussian filter.
  
      Parameters
      ----------
      %(input)s
      sigma : scalar or sequence of scalars
          Standard deviation for Gaussian kernel. The standard
          deviations of the Gaussian filter are given for each axis as a
          sequence, or as a single number, in which case it is equal for
          all axes.
      order : int or sequence of ints, optional
          The order of the filter along each axis is given as a sequence
          of integers, or as a single number.  An order of 0 corresponds
          to convolution with a Gaussian kernel. A positive order
          corresponds to convolution with that derivative of a Gaussian.
      %(output)s
      %(mode_multiple)s
      %(cval)s
      truncate : float
          Truncate the filter at this many standard deviations.
          Default is 4.0.
  
      Returns
      -------
      gaussian_filter : ndarray
          Returned array of same shape as `input`.
  
      Notes
      -----
      The multidimensional filter is implemented as a sequence of
      one-dimensional convolution filters. The intermediate arrays are
      stored in the same data type as the output. Therefore, for output
      types with a limited precision, the results may be imprecise
      because intermediate results may be stored with insufficient
      precision.
  
      Examples
      --------
      >>> from scipy.ndimage import gaussian_filter
      >>> a = np.arange(50, step=2).reshape((5,5))
      >>> a
      array([[ 0,  2,  4,  6,  8],
             [10, 12, 14, 16, 18],
             [20, 22, 24, 26, 28],
             [30, 32, 34, 36, 38],
             [40, 42, 44, 46, 48]])
      >>> gaussian_filter(a, sigma=1)
      array([[ 4,  6,  8,  9, 11],
             [10, 12, 14, 15, 17],
             [20, 22, 24, 25, 27],
             [29, 31, 33, 34, 36],
             [35, 37, 39, 40, 42]])
  
      >>> from scipy import misc
      >>> import matplotlib.pyplot as plt
      >>> fig = plt.figure()
      >>> plt.gray()  # show the filtered result in grayscale
      >>> ax1 = fig.add_subplot(121)  # left side
      >>> ax2 = fig.add_subplot(122)  # right side
      >>> ascent = misc.ascent()
      >>> result = gaussian_filter(ascent, sigma=5)
      >>> ax1.imshow(ascent)
      >>> ax2.imshow(result)
      >>> plt.show()
      """
      input = numpy.asarray(input)
      output = _ni_support._get_output(output, input)
      orders = _ni_support._normalize_sequence(order, input.ndim)
      sigmas = _ni_support._normalize_sequence(sigma, input.ndim)
      modes = _ni_support._normalize_sequence(mode, input.ndim)
      axes = list(range(input.ndim))
      axes = [(axes[ii], sigmas[ii], orders[ii], modes[ii])
              for ii in range(len(axes)) if sigmas[ii] > 1e-15]
      if len(axes) > 0:
          for axis, sigma, order, mode in axes:
              gaussian_filter1d(input, sigma, axis, order, output,
                                mode, cval, truncate)
              input = output
      else:
          output[...] = input[...]
      return output
function_tokens: def gaussian_filter ( input , sigma , order = 0 , output = None , mode = "reflect" , cval = 0.0 , truncate = 4.0 ) : input = numpy . asarray ( input ) output = _ni_support . _get_output ( output , input ) orders = _ni_support . _normalize_sequence ( order , input . ndim ) sigmas = _ni_support . _normalize_sequence ( sigma , input . ndim ) modes = _ni_support . _normalize_sequence ( mode , input . ndim ) axes = list ( range ( input . ndim ) ) axes = [ ( axes [ ii ] , sigmas [ ii ] , orders [ ii ] , modes [ ii ] ) for ii in range ( len ( axes ) ) if sigmas [ ii ] > 1e-15 ] if len ( axes ) > 0 : for axis , sigma , order , mode in axes : gaussian_filter1d ( input , sigma , axis , order , output , mode , cval , truncate ) input = output else : output [ ... ] = input [ ... ] return output