code: def test_join_uvs_simple(self):
      # Example from issue #826
      a = TexturesUV(
          maps=torch.full((1, 4000, 4000, 3), 0.8),
          faces_uvs=torch.arange(300).reshape(1, 100, 3),
          verts_uvs=torch.rand(1, 300, 2) * 0.4 + 0.1,
      )
      b = TexturesUV(
          maps=torch.full((1, 2000, 2000, 3), 0.7),
          faces_uvs=torch.arange(150).reshape(1, 50, 3),
          verts_uvs=torch.rand(1, 150, 2) * 0.2 + 0.3,
      )
      self.assertEqual(a._num_faces_per_mesh, [100])
      self.assertEqual(b._num_faces_per_mesh, [50])
      c = a.join_batch([b]).join_scene()
      self.assertEqual(a._num_faces_per_mesh, [100])
      self.assertEqual(b._num_faces_per_mesh, [50])
      self.assertEqual(c._num_faces_per_mesh, [150])
  
      color = c.faces_verts_textures_packed()
      color1 = color[:100, :, 0].flatten()
      color2 = color[100:, :, 0].flatten()
      expect1 = color1.new_tensor(0.8)
      expect2 = color2.new_tensor(0.7)
      self.assertClose(color1.min(), expect1)
      self.assertClose(color1.max(), expect1)
      self.assertClose(color2.min(), expect2)
      self.assertClose(color2.max(), expect2)
  
      if DEBUG:
          from pytorch3d.vis.texture_vis import (
              texturesuv_image_PIL as PI,
          )
  
          PI(a, radius=5).save(DATA_DIR / "test_join_uvs_simple_a.png")
          PI(b, radius=5).save(DATA_DIR / "test_join_uvs_simple_b.png")
          PI(c, radius=5).save(DATA_DIR / "test_join_uvs_simple_c.png")
  
imports: import os
  import unittest
  from collections import namedtuple
  from itertools import product
  import numpy
  import torch
  from PIL import Image
  from pytorch3d.io import load_obj, load_objs_as_meshes
  from pytorch3d.renderer import AmbientLights, FoVOrthographicCameras, FoVPerspectiveCameras, look_at_view_transform, Materials, MeshRasterizer, MeshRenderer, MeshRendererWithFragments, OrthographicCameras, PerspectiveCameras, PointLights, RasterizationSettings, TexturesAtlas, TexturesUV, TexturesVertex
  from pytorch3d.renderer.fisheyecameras import FishEyeCameras
  from pytorch3d.renderer.mesh.shader import BlendParams, HardFlatShader, HardGouraudShader, HardPhongShader, SoftPhongShader, SoftSilhouetteShader, SplatterPhongShader, TexturedSoftPhongShader
  from pytorch3d.renderer.opengl import MeshRasterizerOpenGL
  from pytorch3d.structures.meshes import join_meshes_as_batch, join_meshes_as_scene, Meshes
  from pytorch3d.utils.ico_sphere import ico_sphere
  from pytorch3d.utils.torus import torus
  from .common_testing import get_pytorch3d_dir, get_tests_dir, load_rgb_image, TestCaseMixin
label_desc: Use image node_id 16 for calling the TestRenderMeshes obj's underlying member method code with example usage: obj.test_join_uvs_simple() without return types