code: def get_dtypes(compression):
      # keep it as a list to retain the declaration order of elements
      all = [
          np.int8,
          np.int16,
          np.int32,
          np.int64,
          np.uint8,
          np.uint16,
          np.uint32,
          np.uint64,
          np.float32,
          np.float64,
      ]
      excluded = set()
      # The astropy is not actively developed for Python3.6 and the last available
      # version does not support some dtypes
      vi = sys.version_info
      if vi.major < 3 or (vi.major == 3 and vi.minor <= 7):
          excluded |= {np.int8}
      # Astropy doesn't support writing those types to compressed image
      # Futhermore, due to issues with gpu acceleration of rice decoding of floats,
      # it is not supported yet
      if compression:
          excluded |= {np.int64, np.uint64, np.float32, np.float64}
      return [dtype for dtype in all if dtype not in excluded]
  
imports: import itertools
  import os
  import sys
  from nvidia.dali import pipeline_def
  import nvidia.dali.fn
  from astropy.io import fits
  import numpy
  import tempfile
  import random
  from nose2.tools import params
  from test_utils import to_array, get_dali_extra_path
  from numpy.testing import assert_array_equal
label_desc: Use image node_id 4 for calling a global function with example usage: get_dtypes(compression) and returns: unknown