code: def gate_dtypes(dtypes, allowed, disallowed, augmenter=None):
      def _cvt(dts):
          normalized = set()
          if not isinstance(dts, list):
              dts = [dts]
  
          for dtype in dts:
              try:
                  dtype = normalize_dtype(dtype)
                  normalized.add(dtype)
              except TypeError:
                  pass
          return normalized
  
      dtypes_norm = _cvt(dtypes)
      allowed_norm = _cvt(allowed)
      disallowed_norm = _cvt(disallowed)
  
      return _gate_dtypes(
          dtypes_norm,
          allowed_norm,
          disallowed_norm,
          augmenter=augmenter,
      )
  
imports: from __future__ import print_function, division, absolute_import
  import numpy
  import six.moves
  import imgaug
label_desc: Use image node_id 18 for calling a global function with example usage: gate_dtypes(dtypes, allowed, disallowed, augmenter) and returns: _gate_dtypes, normalized