code: def one_euro_filter(self, x_cur, x_pre, index):
      te = 1
      self.alpha = self.smoothing_factor(te, self.fc_d)
      dx_cur = (x_cur - x_pre) / te
      dx_cur_hat = self.exponential_smoothing(
          dx_cur, self.dx_prev_hat[index]
      )
  
      fc = self.fc_min + self.beta * np.abs(dx_cur_hat)
      self.alpha = self.smoothing_factor(te, fc)
      x_cur_hat = self.exponential_smoothing(x_cur, x_pre)
      self.dx_prev_hat[index] = dx_cur_hat
      self.x_prev_hat[index] = x_cur_hat
      return x_cur_hat
  
imports: import os
  import json
  import cv2
  import math
  import numpy
  import paddle
  import yaml
  from det_keypoint_unite_utils import argsparser
  from preprocess import decode_image
  from infer import Detector, DetectorPicoDet, PredictConfig, print_arguments, get_test_images, bench_log
  from keypoint_infer import KeyPointDetector, PredictConfig_KeyPoint
  from visualize import visualize_pose
  from benchmark_utils import PaddleInferBenchmark
  from utils import get_current_memory_mb
  from keypoint_postprocess import translate_to_ori_images
label_desc: Use image node_id 4 for calling the KeypointSmoothing obj's underlying member method code with example usage: obj.one_euro_filter(x_cur, x_pre, index) and returns: x_cur_hat