code: def test_apply_blurpool_on_weights(self):
      weights = torch.tensor(
          [
              [0.5, 0.6, 0.7],
              [0.5, 0.3, 0.9],
          ]
      )
      expected_weights = 0.5 * torch.tensor(
          [
              [0.5 + 0.6, 0.6 + 0.7, 0.7 + 0.7],
              [0.5 + 0.5, 0.5 + 0.9, 0.9 + 0.9],
          ]
      )
      out_weights = apply_blurpool_on_weights(weights)
      self.assertTrue(torch.allclose(out_weights, expected_weights))
  
file_path: pytorch3d/tests/implicitron/test_ray_point_refiner.py
imports: import unittest
  from itertools import product
  import torch
  from pytorch3d.implicitron.models.renderer.ray_point_refiner import apply_blurpool_on_weights, RayPointRefiner
  from pytorch3d.implicitron.models.renderer.ray_sampler import ImplicitronRayBundle
  from tests.common_testing import TestCaseMixin
label_desc: Use image node_id 3 for calling the TestRayPointRefiner obj's underlying member method code with example usage: obj.test_apply_blurpool_on_weights() without return types