code: def metric_func(self):
      self._metric_func = {
          "loss": min,
          "hit_ratio": max,
          "feat_match_ratio": max,
          "trans_error": min,
          "rot_error": min,
          "rre": max,
          "rte": max,
          "sr_err": min,
      }
      return self._metric_func
  
imports: from typing import Dict, Any
  import torchnet
  import torch
  from .base_tracker import BaseTracker
  from .registration_metrics import compute_accuracy
  from .registration_metrics import compute_hit_ratio
  from .registration_metrics import compute_transfo_error
  from .registration_metrics import compute_scaled_registration_error
  from torch_points3d.models import model_interface
  from torch_points3d.utils.registration import estimate_transfo, fast_global_registration, get_matches
label_desc: Use image node_id 5 for calling the FragmentRegistrationTracker obj's underlying member method code with example usage: obj.metric_func() and returns: self