def METHOD_NAME(self, data):
    """
    Callback that processes the input data and publishes to the corresponding topics.
    :param data: input message
    :type data: sensor_msgs.msg.Image
    """
    # Convert sensor_msgs.msg.Image into OpenDR Image
    image = self.bridge.from_ros_image(data, encoding='bgr8')
    self.image = image
    if not self.initialized:
        # Run object detector to initialize the tracker
        image = self.bridge.from_ros_image(data, encoding='bgr8')
        boxes = self.object_detector.infer(image)
        img_center = [int(image.data.shape[2] // 2), int(image.data.shape[1] // 2)]  # width, height
        # Find the box that is closest to the center of the image
        center_box = BoundingBox("", left=0, top=0, width=0, height=0)
        min_distance = dist([center_box.left, center_box.top], img_center)
        for box in boxes:
            new_distance = dist([int(box.left + box.width // 2), int(box.top + box.height // 2)], img_center)
            if new_distance < min_distance:
                center_box = box
                min_distance = dist([center_box.left, center_box.top], img_center)
        # Initialize tracker with the most central box found
        init_box = TrackingAnnotation(center_box.name,
                                      center_box.left, center_box.top, center_box.width, center_box.height,
                                      id=0, score=center_box.confidence)
        self.tracker.infer(self.image, init_box)
        self.initialized = True
        rospy.loginfo("Object Tracking 2D SiamRPN node initialized with the most central bounding box.")
    if self.initialized:
        # Run object tracking
        box = self.tracker.infer(image)
        if self.object_publisher is not None:
            # Publish detections in ROS message
            ros_boxes = self.bridge.to_ros_single_tracking_annotation(box)
            self.object_publisher.publish(ros_boxes)
        if self.image_publisher is not None:
            # Get an OpenCV image back
            image = image.opencv()
            cv2.rectangle(image, (box.left, box.top),
                          (box.left + box.width, box.top + box.height),
                          (0, 255, 255), 3)
            # Convert the annotated OpenDR image to ROS image message using bridge and publish it
            self.image_publisher.publish(self.bridge.to_ros_image(Image(image), encoding='bgr8'))