code: def test_call():
      shape = (3, 5, 7, 12)
      x = np.random.standard_normal(shape)
      affine = np.eye(5)
      affine[:3, :3] = np.random.standard_normal((3, 3))
      affine[:4, 4] = np.random.standard_normal((4,))
      im = Image(x, AT(CS("ijkq"), MNI4, affine))
      newim = image_call(im, lambda x: x[::2], "q", "out")
      assert_array_equal(xyz_affine(im), xyz_affine(newim))
      assert newim.axes.coord_names == tuple("ijk") + ("out",)
      assert newim.shape == (3, 5, 7, 6)
      assert_almost_equal(newim.get_fdata(), x[:, :, :, ::2])
  
file_path: nipy/nipy/core/image/tests/test_rollimg.py
imports: import numpy
  import pytest
  from numpy.testing import assert_almost_equal, assert_array_equal
  from ...image.image_spaces import xyz_affine
  from ...reference.coordinate_map import AffineTransform
  from ...reference.coordinate_map import AxisError, drop_io_dim
  from ...reference.coordinate_system import CoordinateSystem
  from ...reference.spaces import mni_csm
  from ..image import Image, rollimg, synchronized_order
label_desc: Use image node_id 7 for calling a global function with example usage: test_call() without return types