code: def test_gamma_correction(setup_library, test_images):
      fname = test_images / "kodim03.png"
  
      # Load image three times
      im1 = iio.imread(fname, format="PNG-FI")
      im2 = iio.imread(fname, ignoregamma=True, format="PNG-FI")
      im3 = iio.imread(fname, ignoregamma=False, format="PNG-FI")
  
      # Default is to ignore gamma
      assert np.all(im1 == im2)
  
      # Test result depending of application of gamma
      assert im1.mean() == im2.mean()
  
      # TODO: We have assert im2.mean() == im3.mean()
      # But this is wrong, we want: assert im2.mean() < im3.mean()
  
      # test_regression_302
      for im in (im1, im2, im3):
          assert im.shape == (512, 768, 3) and im.dtype == "uint8"
  
imports: import os
  import shutil
  import sys
  import platform
  import warnings
  import fsspec
  import imageio.plugins
  import imageio.v3
  import imageio.v2
  import numpy
  import pytest
  from imageio import core
  from imageio.core import IS_PYPY
  from pytest import raises
  from conftest import deprecated_test
label_desc: Use image node_id 21 for calling a global function with example usage: test_gamma_correction(setup_library, test_images) without return types