code: def complex_conj(x: NdarrayOrTensor) -> NdarrayOrTensor:
      """
      Compute complex conjugate of an/a array/tensor. Supports Ndim inputs with last dim equal to 2 (real/imaginary channels)
  
      Args:
          x: Input array/tensor with 2 channels in the last dimension representing real and imaginary parts.
  
      Returns:
          Complex conjugate of x
  
      Example:
          .. code-block:: python
  
              import numpy as np
              x = np.array([[1,2],[3,4]])
              # the following line prints array([[ 1, -2], [ 3, -4]])
              print(complex_conj(x))
      """
      if x.shape[-1] != 2:
          raise ValueError(
              f"last dim must be 2, but x.shape[-1] is {x.shape[-1]}."
          )
  
      if isinstance(x, Tensor):
          return complex_conj_t(x)
      else:
          np_conj: np.ndarray = np.stack(
              (x[..., 0], -x[..., 1]), axis=-1
          )
          return np_conj
  
file_path: MONAI/monai/apps/reconstruction/complex_utils.py
imports: from __future__ import annotations
  import re
  import numpy
  import torch
  from torch import Tensor
  from monai.config.type_definitions import NdarrayOrTensor
  from monai.utils.type_conversion import convert_to_numpy, convert_to_tensor
label_desc: Use image node_id 7 for calling a global function with example usage: complex_conj(x) and returns: complex_conj_t, np_conj