code: def setUp(self):
      self.sampler = cT.GridSampling3D(0.04)
      num_points = 5
      pos = torch.from_numpy(
          np.array(
              [
                  [0, 0, 0.01],
                  [0.01, 0, 0],
                  [0, 0.01, 0],
                  [0, 0.01, 0],
                  [0.01, 0, 0.01],
              ]
          )
      )
      batch = torch.from_numpy(np.zeros(num_points)).long()
      y = np.asarray(np.random.randint(0, 2, 5))
      uniq, counts = np.unique(y, return_counts=True)
      self.answer = uniq[np.argmax(counts)]
      y = torch.from_numpy(y)
      self.data = Data(pos=pos, batch=batch, y=y)
  
file_path: torch-points3d/test/test_grid_sampling.py
imports: import os
  import sys
  import numpy
  import torch
  import unittest
  import h5py
  import numpy.testing
  import numpy.matlib
  from torch_geometric.data import Data
  import torch_points3d.core.data_transform
label_desc: Use image node_id 1 for calling the TestGridSampling3D obj's underlying member method code with example usage: obj.setUp() without return types