class_docstr: EXRIOTensor
code: def __init__(self, filename, internal=False):
      with tf.name_scope("EXRIOTensor"):
          data = tf.io.read_file(filename)
          shapes, dtypes, channels = core_ops.io_decode_exr_info(data)
          parts = []
          index = 0
          for shape, dtypes, channels in zip(
              shapes.numpy(), dtypes.numpy(), channels.numpy()
          ):
              # Remove trailing 0 from dtypes
              while dtypes[-1] == 0:
                  dtypes.pop()
                  channels.pop()
              spec = tuple(
                  tf.TensorSpec(tf.TensorShape(shape), dtype)
                  for dtype in dtypes
              )
              columns = [channel.decode() for channel in channels]
              elements = [
                  io_tensor_ops.TensorIOTensor(
                      core_ops.io_decode_exr(
                          data, index, channel, dtype=dtype
                      ),
                      internal=internal,
                  )
                  for (channel, dtype) in zip(columns, dtypes)
              ]
              parts.append(
                  EXRPartIOTensor(
                      spec, columns, elements, internal=internal
                  )
              )
              index += 1
          spec = tuple(part.spec for part in parts)
          columns = [i for i, _ in enumerate(parts)]
          super().__init__(spec, columns, parts, internal=internal)
  
file_path: io/tensorflow_io/python/experimental/openexr_io_tensor_ops.py
imports: import tensorflow
  from tensorflow_io.python.ops import io_tensor_ops
  from tensorflow_io.python.ops import core_ops
label_desc: Use image node_id 1 to create a new EXRIOTensor object from inherited base classes: io_tensor_ops with example: obj = EXRIOTensor(filename, internal)