# Configurations for the YOSO panoptic segmentation node
# node name
/panoptic_yoso_node:
    ros__parameters:
        # The Basler camera raw image topic to subscribe
        # Need to be set properly
        basler_camera_topic1: '/my_camera/pylon_ros2_camera_node1/image_raw'
        basler_camera_topic2: '/my_camera/pylon_ros2_camera_node2/image_raw'
        basler_camera_topic3: '/my_camera/pylon_ros2_camera_node3/image_raw'

        # The inference model config file
        # Default to
        model_config: '/home/scotty/colcon_ws/install/yoso_pkg/share/yoso_pkg/config/cityscapes/YOSO-R50.yaml'
        # model_config: '/home/scotty/colcon_ws/install/yoso_pkg/share/yoso_pkg/config/klass-dataset/YOSO-R50.yaml'

        # The path of the pre-trained weight of the inference model
        # Loaded durint init
        ckpt: '/home/scotty/checkpoints/yoso_res50_cityscapes.pth'
        # ckpt: '/home/scotty/checkpoints/model_final.pth'

        # The confidence threshold of the inference model
        # Default to .5
        yoso_threshold: 0.5

        # Visualization of panoptic segmentation
        # Significantly reduce the FPS
        # Default to False to fulfill real-time constraints
        visualization: false

        # Resized camera image pass into the inference mode
        # Model optimized for [1024, 512]
        # Default Basler image resolution [1920, 1280]
        resize: [512, 1024]

        # Image expiration threshold (in seconds)
        # Expired input images will be dropped before inference
        # Default to 1.0
        ttl: 1.0

        # The expected publishing rate of the panoptic segmentation node.
        # This parameter can only be set once at startup.
        # Max theoretical FPS = publish_rate * 3 (fetch up to 3 images each time)
        publish_rate: 5.0

        # For YOSO visiualization only
        # Significantly reduce the FPS
        # This publishes the reference images for comparison with segmented images
        publish_reference: false
