code: def test_double_ellipsoid(self):
      if USE_SCIKIT:
          import numpy as np
          from skimage.draw import ellipsoid
  
          ellip_base = ellipsoid(6, 10, 16, levelset=True)
          ellip_double = np.concatenate(
              (ellip_base[:-1, ...], ellip_base[2:, ...]), axis=0
          )
          volume = torch.Tensor(ellip_double).unsqueeze(0)
          volume = volume.permute(0, 3, 2, 1)  # (B, D, H, W)
          verts, faces = marching_cubes_naive(volume, isolevel=0.001)
          verts2, faces2 = marching_cubes(volume, isolevel=0.001)
  
          data_filename = (
              "test_marching_cubes_data/double_ellipsoid.pickle"
          )
          filename = os.path.join(DATA_DIR, data_filename)
          with open(filename, "rb") as file:
              verts_and_faces = pickle.load(file)
          expected_verts = verts_and_faces["verts"]
          expected_faces = verts_and_faces["faces"]
  
          self.assertClose(verts[0], expected_verts)
          self.assertClose(faces[0], expected_faces)
          self.assertClose(verts2[0], expected_verts)
          self.assertClose(faces2[0], expected_faces)
  
imports: import os
  import pickle
  import unittest
  import torch
  from pytorch3d.ops.marching_cubes import marching_cubes, marching_cubes_naive
  from .common_testing import get_tests_dir, TestCaseMixin
label_desc: Use image node_id 5 for calling the TestMarchingCubes obj's underlying member method code with example usage: obj.test_double_ellipsoid() without return types