code: def test_wavelet_denoising_channel_axis(channel_axis, convert2ycbcr):
      rstate = np.random.default_rng(1234)
      sigma = 0.1
      img = astro_odd
      noisy = img + sigma * rstate.standard_normal(img.shape)
      noisy = np.clip(noisy, 0, 1)
  
      img = np.moveaxis(img, -1, channel_axis)
      noisy = np.moveaxis(noisy, -1, channel_axis)
  
      # Verify that SNR is improved when true sigma is used
      denoised = restoration.denoise_wavelet(
          noisy,
          sigma=sigma,
          channel_axis=channel_axis,
          convert2ycbcr=convert2ycbcr,
          rescale_sigma=True,
      )
      psnr_noisy = peak_signal_noise_ratio(img, noisy)
      psnr_denoised = peak_signal_noise_ratio(img, denoised)
      assert psnr_denoised > psnr_noisy
  
imports: import functools
  import itertools
  import numpy
  import pytest
  from numpy.testing import assert_array_almost_equal, assert_array_equal, assert_warns
  from skimage import color, data, img_as_float, restoration
  from skimage._shared._warnings import expected_warnings
  from skimage._shared.utils import _supported_float_type, slice_at_axis
  from skimage.metrics import peak_signal_noise_ratio, structural_similarity
  from skimage.restoration._denoise import _wavelet_threshold
label_desc: Use image node_id 38 for calling a global function with example usage: test_wavelet_denoising_channel_axis(channel_axis, convert2ycbcr) without return types