docstr: Warps an image in the backward direction
  
  Transforms the input image under this transformation in the backward
  direction. It uses the "is_inverse" flag to switch between "forward"
  and "backward" (if is_inverse is False, then transform_inverse(...)
  warps the image backwards, else it warps the image forwards)
  
  Parameters
  ----------
  image : array, shape (s, r, c) if dim = 3 or (r, c) if dim = 2
      the image to be warped under this transformation in the forward
      direction
  interpolation : string, either 'linear' or 'nearest'
      the type of interpolation to be used for warping, either 'linear'
      (for k-linear interpolation) or 'nearest' for nearest neighbor
  image_world2grid : array, shape (dim+1, dim+1)
      the transformation bringing world (space) coordinates to voxel
      coordinates of the image given as input
  out_shape : array, shape (dim,)
      the number of slices, rows, and columns of the desired warped image
  out_grid2world : the transformation bringing voxel coordinates of the
      warped image to physical space
  
  Returns
  -------
  warped : array, shape = out_shape or self.codomain_shape if None
      warped image under this transformation in the backward direction
  
  Notes
  -----
  See _warp_forward and _warp_backward documentation for further
  information.
code: def transform_inverse(
      self,
      image,
      interpolation="linear",
      image_world2grid=None,
      out_shape=None,
      out_grid2world=None,
  ):
      """Warps an image in the backward direction
  
      Transforms the input image under this transformation in the backward
      direction. It uses the "is_inverse" flag to switch between "forward"
      and "backward" (if is_inverse is False, then transform_inverse(...)
      warps the image backwards, else it warps the image forwards)
  
      Parameters
      ----------
      image : array, shape (s, r, c) if dim = 3 or (r, c) if dim = 2
          the image to be warped under this transformation in the forward
          direction
      interpolation : string, either 'linear' or 'nearest'
          the type of interpolation to be used for warping, either 'linear'
          (for k-linear interpolation) or 'nearest' for nearest neighbor
      image_world2grid : array, shape (dim+1, dim+1)
          the transformation bringing world (space) coordinates to voxel
          coordinates of the image given as input
      out_shape : array, shape (dim,)
          the number of slices, rows, and columns of the desired warped image
      out_grid2world : the transformation bringing voxel coordinates of the
          warped image to physical space
  
      Returns
      -------
      warped : array, shape = out_shape or self.codomain_shape if None
          warped image under this transformation in the backward direction
  
      Notes
      -----
      See _warp_forward and _warp_backward documentation for further
      information.
      """
      if self.is_inverse:
          warped = self._warp_forward(
              image,
              interpolation,
              image_world2grid,
              out_shape,
              out_grid2world,
          )
      else:
          warped = self._warp_backward(
              image,
              interpolation,
              image_world2grid,
              out_shape,
              out_grid2world,
          )
      return np.asarray(warped)
  
imports: import logging
  import abc
  import numpy
  import numpy.linalg
  import nibabel
  from nibabel.streamlines import ArraySequence
  from dipy.align import vector_fields
  from dipy.align import floating
  from dipy.align import VerbosityLevels
  from dipy.align import Bunch
  from dipy.align.scalespace import ScaleSpace
label_desc: Use image node_id 12 for calling the DiffeomorphicMap obj's underlying member method code with example usage: obj.transform_inverse(image, interpolation, image_world2grid, out_shape, out_grid2world) and returns: np