code: def __call__(self, data):
      pcd = open3d.geometry.PointCloud()
      pcd.points = open3d.utility.Vector3dVector(data.pos.numpy())
      pcd.estimate_normals(self.kdtree_normal)
      fpfh_feature = open3d.pipelines.registration.compute_fpfh_feature(
          pcd, self.kdtree
      )
      return np.asarray(fpfh_feature.data).T[data.keypoints.numpy()]
  
file_path: torch-points3d/scripts/test_registration_scripts/fpfh.py
imports: import open3d
  import torch
  import numpy
  import hydra
  import os
  import os.path
  import sys
  import json
  from omegaconf import OmegaConf
  from test_registration_scripts.save_feature import save
label_desc: Use image node_id 2 for calling the FPFH obj's underlying member method code with example usage: obj.__call__(data) and returns: np