docs: def transpose_axes(image, axes, asaxes=None):
      """Return image with its axes permuted to match specified axes.
  
      A view is returned if possible.
  
      >>> transpose_axes(numpy.zeros((2, 3, 4, 5)), 'TYXC', asaxes='CTZYX').shape
      (5, 2, 1, 3, 4)
  
      """
      for ax in axes:
          if ax not in asaxes:
              raise ValueError('unknown axis %s' % ax)
      # add missing axes to image
      if asaxes is None:
          asaxes = 'CTZYX'
      shape = image.shape
      for ax in reversed(asaxes):
          if ax not in axes:
              axes = ax + axes
              shape = (1,) + shape
      image = image.reshape(shape)
      # transpose axes
      image = image.transpose([axes.index(ax) for ax in asaxes])
      return image