code: def test_write_read_roundtrip(
      self, num_channels, datatype, pass_channels
  ):
      expected_image, expected_channels = _MakeTestImage(
          num_channels, datatype
      )
      with tempfile.NamedTemporaryFile() as temp:
          exr.write_exr(temp.name, expected_image, expected_channels)
          image, channels = exr.read_exr(
              temp.name, expected_channels if pass_channels else None
          )
  
      self.assertEqual(expected_channels, channels)
      self.assertEqual(image.tolist(), expected_image.tolist())
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import tempfile
  from absl.testing import parameterized
  import Imath
  import numpy
  import OpenEXR
  from six.moves import range
  from tensorflow_graphics.io import exr
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 1 for calling the ExrTest obj's underlying member method code with example usage: obj.test_write_read_roundtrip(num_channels, datatype, pass_channels) without return types