code: def _extract_gt_center(self, data, outputs):
      if self.is_dense_format:
          gt_center = data.center_label[:, :, 0:3]
          obj_mask = self.input.box_label_mask
      else:
          gt_center = data.center_label[:, 0:3].view(
              (self._n_batches, -1, 3)
          )
          obj_mask = self.input.box_label_mask.view(
              (self._n_batches, -1)
          )
      outputs.assign_objects(
          gt_center,
          obj_mask,
          self.loss_params.near_threshold,
          self.loss_params.far_threshold,
      )
  
imports: import torch
  from torch_geometric.data import Data
  import os
  from torch_points3d.datasets.object_detection.box_data import BoxData
  from torch_points3d.datasets.segmentation import IGNORE_LABEL
  from torch_points3d.models.base_model import BaseModel
  from torch_points3d.applications import models
  import torch_points3d.modules.VoteNet
  from torch_points3d.core.common_modules import Seq, MLP, FastBatchNorm1d
  from torch_points3d.core.data_transform import AddOnes
  from torch_points3d.modules.VoteNet.dense_samplers import RandomSamplerToDense, FPSSamplerToDense
label_desc: Use image node_id 6 for calling the VoteNet2 obj's underlying member method code with example usage: obj._extract_gt_center(data, outputs) without return types