code: def _pra_ray_tracing(
      room_dim,
      absorption,
      scattering,
      num_bands,
      mic_array,
      source,
      num_rays,
      energy_thres,
      time_thres,
      hist_bin_size,
      mic_radius,
      sound_speed,
  ):
      walls = ["west", "east", "south", "north", "floor", "ceiling"]
      absorption = absorption.T.tolist()
      scattering = scattering.T.tolist()
      freqs = 125 * 2 ** np.arange(num_bands)
  
      room = pra.ShoeBox(
          room_dim.tolist(),
          ray_tracing=True,
          materials={
              wall: pra.Material(
                  energy_absorption={
                      "coeffs": absorp,
                      "center_freqs": freqs,
                  },
                  scattering={"coeffs": scat, "center_freqs": freqs},
              )
              for wall, absorp, scat in zip(
                  walls, absorption, scattering
              )
          },
          air_absorption=False,
          max_order=0,  # Make sure PRA doesn't use the hybrid method (we just want ray tracing)
      )
      room.add_microphone_array(mic_array.T.tolist())
      room.add_source(source.tolist())
      room.set_ray_tracing(
          n_rays=num_rays,
          energy_thres=energy_thres,
          time_thres=time_thres,
          hist_bin_size=hist_bin_size,
          receiver_radius=mic_radius,
      )
      room.set_sound_speed(sound_speed)
      room.compute_rir()
      hist_pra = np.array(room.rt_histograms, dtype=np.float32)[:, 0, 0]
  
      # PRA continues the simulation beyond time threshold, but torchaudio does not.
      num_bins = math.ceil(time_thres / hist_bin_size)
      return hist_pra[:, :, :num_bins]
  
file_path: audio/test/torchaudio_unittest/prototype/functional/pyroomacoustics_compatibility_test.py
imports: import math
  import numpy
  import torch
  import torchaudio.prototype.functional
  from parameterized import parameterized
  from torchaudio._internal import module_utils
  from torchaudio_unittest.common_utils import PytorchTestCase, skipIfNoModule, skipIfNoRIR
label_desc: Use image node_id 1 for calling a global function with example usage: _pra_ray_tracing(room_dim, absorption, scattering, num_bands, mic_array, source, num_rays, energy_thres, time_thres, hist_bin_size, mic_radius, sound_speed) and returns: hist_pra