code: def convert_input_2_numpy(
      input_data, input_format=None, return_all=False
  ):
      """Copies a file somewhere else. Effectively only used for compressing nifti files.
  
      Note: Some say it is bad practice to have varying amounts of objects returned. On
      the other hand, I find it easier to use this way.
  
      Parameters
      ----------
      input_filepath: str
          Input filepath.
      return_header: bool
          If true, returns header information in nibabel format.
  
      Returns
      -------
      img: Numpy array
          Untransformed image data.
      header: list
          Varies from format to format.
      type: str
          Internal code for image type.
      """
  
      if isinstance(input_data, str):
          if input_format is None:
              input_format = check_format(input_data)
  
          if input_format is None:
              raise ValueError
              if return_all:
                  return None, None, None, None
              else:
                  return None
  
          if return_all:
              return NUMPY_CONVERTER_LIST[input_format](
                  input_data, return_all=True
              ) + (input_format,)
          else:
              return NUMPY_CONVERTER_LIST[input_format](input_data)
  
      else:
          if return_all:
              return input_data, None, None, "numpy"
          else:
              return input_data
  
imports: import os
  import numpy
  import nibabel
  import nrrd
  import pydicom
  import subprocess
  from collections import defaultdict
  from imageio import imwrite, imread
  from deepneuro.utilities.util import grab_files_recursive, quotes
label_desc: Use image node_id 18 for calling a global function with example usage: convert_input_2_numpy(input_data, input_format, return_all) and returns: unknown, NUMPY_CONVERTER_LIST, input_data,  None,  None,  str, input_data, None,  None,  None,  None, None