code: def spline_filter(
      input, order=3, output=numpy.float64, mode="mirror"
  ):
      """
      Multi-dimensional spline filter.
  
      For more details, see `spline_filter1d`.
  
      See Also
      --------
      spline_filter1d
  
      Notes
      -----
      The multi-dimensional filter is implemented as a sequence of
      one-dimensional spline 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.
  
      """
      if order < 2 or order > 5:
          raise RuntimeError("spline order not supported")
      input = numpy.asarray(input)
      if numpy.iscomplexobj(input):
          raise TypeError("Complex type not supported")
      output = _ni_support._get_output(output, input)
      if order not in [0, 1] and input.ndim > 0:
          for axis in range(input.ndim):
              spline_filter1d(
                  input, order, axis, output=output, mode=mode
              )
              input = output
      else:
          output[...] = input[...]
      return output
  
file_path: catboost/contrib/python/scipy/py2/scipy/ndimage/interpolation.py
imports: from __future__ import division, print_function, absolute_import
  import math
  import numpy
  import warnings
  from .None import _ni_support
  from .None import _nd_image
  from ._ni_docstrings import docdict
  from scipy.misc import doccer
label_desc: Use image node_id 2 for calling a global function with example usage: spline_filter(input, order, output, mode) and returns: output