Configuration Guide =================== This page explains how to configure the ATLAS GUI application through the main configuration file. Configuration Parameters ------------------------ Dataset Settings ~~~~~~~~~~~~~~~~ **dataset_type** The type of dataset to load. Supported formats are: * ``REASSEMBLE`` - For datasets using the `REASSEMBLE `_ format * ``RLDS`` - For `RLDS `_ (Reinforcement Learning Datasets) format * ``rosbag`` - For ROS bag files (``.bag``) with synchronized image and proprioceptive topics * ``video`` - For a folder of generic video files (``.mp4``, ``.avi``, etc.) * ``frames`` - For a folder of image sequences (``.png``, ``.jpg``) **dataset_name** Name of your dataset, will be used during logging of annotations. This helps identify which dataset was used when reviewing annotation logs. **fps** Frequency at which the data was recorded and/or at which the data will be synced to. This ensures proper temporal alignment of data streams. **annotation_dir** Directory where the JSON annotation files will be saved. .. note:: This applies only when annotations are saved externally as JSON files. ``REASSEMBLE`` datasets configured with ``annotation_storage: h5`` write annotations directly back into the source HDF5 file and do not use this directory. Data Configuration ~~~~~~~~~~~~~~~~~~ The data-related keys behave slightly differently depending on the chosen ``dataset_type``. Select the relevant tab below. For complete, ready-to-use configuration files for each format, see :ref:`complete-configuration-example`. .. tab-set:: .. tab-item:: REASSEMBLE **low_level_keys** List of proprioceptive robot data keys. You should list all available sensor keys here that you want to access during annotation. .. important:: You should include the full dictionary path to your desired keys. Example: .. code-block:: yaml low_level_keys: - steps/observation/gripper_position - steps/observation/cartesian_position - steps/observation/joint_position **camera_keys** List the camera keys that you wish to display in the GUI interface. .. important:: You should include the full dictionary path to your desired keys. Example: .. code-block:: yaml camera_keys: - steps/observation/wrist_image_left - steps/observation/exterior_image_1_left - steps/observation/exterior_image_2_left **color_format** Image color format, either ``"RGB"`` or ``"BGR"``. Specifies the format of the camera data to ensure proper color display. **annotation_storage** How annotations are persisted. Either ``"h5"`` (default) or ``"json"``. * ``h5`` — annotations are written directly back into the source HDF5 file under the group specified by ``annotation_group``. * ``json`` — annotations are written to an external JSON file inside ``annotation_dir``, leaving the source data untouched. .. code-block:: yaml annotation_storage: json **annotation_group** Name of the HDF5 group under which annotations are stored when ``annotation_storage: h5``. Defaults to ``low_level``. .. code-block:: yaml annotation_group: low_level .. tab-item:: RLDS **low_level_keys** List of proprioceptive robot data keys. You should list all available sensor keys here that you want to access during annotation. .. important:: You should include the full dictionary path to your desired keys. Example: .. code-block:: yaml low_level_keys: - steps/observation/gripper_position - steps/observation/cartesian_position - steps/observation/joint_position **camera_keys** List the camera keys that you wish to display in the GUI interface. .. important:: You should include the full dictionary path to your desired keys. Example: .. code-block:: yaml camera_keys: - steps/observation/wrist_image_left - steps/observation/exterior_image_1_left - steps/observation/exterior_image_2_left **color_format** Image color format, either ``"RGB"`` or ``"BGR"``. Specifies the format of the camera data to ensure proper color display. **text_keys** Which text descriptions to load for a given segment. Example: .. code-block:: yaml text_keys: - language_instruction .. tab-item:: rosbag **low_level_keys** List of proprioceptive ROS topics whose messages will be made available during annotation. Example: .. code-block:: yaml low_level_keys: - franka_state_controller/O_T_EE - joint_states - ft_sensor/ft_compensated_base **camera_keys** List of ROS image topics that you wish to display in the GUI interface. Example: .. code-block:: yaml camera_keys: - cam1 - cam2 **color_format** Image color format, either ``"RGB"`` or ``"BGR"``. Specifies the format of the camera data to ensure proper color display. **annotation_group** Name of the dictionary entry under which annotations will be saved within the bag's metadata. Defaults to ``annotations``. Example: .. code-block:: yaml annotation_group: high_level **stream_mode** If ``True`` (default), camera frames are loaded on-demand from the bag to keep memory usage low. Set to ``False`` to load all frames into memory at startup — playback will be faster but RAM usage will be much higher. .. code-block:: yaml stream_mode: true **frame_cache_size** Number of recently accessed frames to keep in memory while in streaming mode. Larger values smooth out playback at the cost of more RAM. Defaults to ``30``. .. code-block:: yaml frame_cache_size: 60 .. tab-item:: video **low_level_keys** Leave empty — generic video files do not contain proprioceptive data. .. code-block:: yaml low_level_keys: **camera_keys** Leave empty to auto-detect camera streams from the folder structure, or provide a list of explicit camera names if you have a known multi-camera layout. .. code-block:: yaml camera_keys: # - camera # uncomment for a single named camera **color_format** Image color format, either ``"RGB"`` or ``"BGR"``. Specifies the format of the camera data to ensure proper color display. .. tab-item:: frames **low_level_keys** Leave empty — image folders do not contain proprioceptive data. .. code-block:: yaml low_level_keys: **camera_keys** Leave empty to auto-detect camera streams from the folder structure, or provide a list of explicit camera names if you have a known multi-camera layout. .. code-block:: yaml camera_keys: # - camera # uncomment for a single named camera # - left_cam # uncomment and add entries for a known multi-camera setup # - right_cam **color_format** Image color format, either ``"RGB"`` or ``"BGR"``. Specifies the format of the camera data to ensure proper color display. Display Settings ~~~~~~~~~~~~~~~~ **default_graphs** Proprioceptive data that you want to have displayed by default each time you load a segment. This allows you to automatically show the most relevant sensor data without manual selection. .. note:: This setting has no effect for the ``video`` and ``frames`` dataset types, since those formats do not carry proprioceptive data. Leave it empty in that case. Example: .. code-block:: yaml default_graphs: - steps/observation/cartesian_position - steps/observation/gripper_position Keyboard Configuration ~~~~~~~~~~~~~~~~~~~~~~ **keys** Keyboard shortcuts for annotation actions. Define custom key bindings for common annotation operations. Example: .. code-block:: yaml keys: play: Space previous_segment: Q next_segment: E toggle_annotation: S delete_last_annotation: Backspace save_segment_annotation: P fast_forward: D rewind: A fast_forward_small: C rewind_small: Z jump_to_end: F **ff_value_big** Step size in seconds for the ``fast_forward`` / ``rewind`` keys (large jumps). Example: .. code-block:: yaml ff_value_big: 0.1 # 100 ms per press **ff_value_small** Step size in seconds for the ``fast_forward_small`` / ``rewind_small`` keys (fine-grained jumps). Example: .. code-block:: yaml ff_value_small: 0.01 # 10 ms per press **action_map** Keyboard number shortcuts for inputting the name of the segmented part during annotation. This allows quick selection of annotation categories using number keys. Example: .. code-block:: yaml action_map: 1: Approach 2: Grasp 3: Lift 4: Release 5: Align 6: Push 7: Pull 8: Nudge 9: Twist .. _complete-configuration-example: Complete Configuration Example ------------------------------ Below is a complete example configuration file for each supported dataset format. Select the relevant tab to see the full template you can drop into your own setup. .. tip:: Each of the example files shown here is also shipped in the :gh-tree:`config/ ` folder of the repository, so you can copy one and edit it directly instead of starting from scratch. .. tab-set:: .. tab-item:: REASSEMBLE :gh-blob:`View on GitHub ` .. literalinclude:: ../config/reassemble.yaml :language: yaml :caption: config/reassemble.yaml .. tab-item:: RLDS :gh-blob:`View on GitHub ` .. literalinclude:: ../config/rlds.yaml :language: yaml :caption: config/rlds.yaml .. tab-item:: rosbag :gh-blob:`View on GitHub ` .. literalinclude:: ../config/rosbag.yaml :language: yaml :caption: config/rosbag.yaml .. tab-item:: video :gh-blob:`View on GitHub ` .. literalinclude:: ../config/video.yaml :language: yaml :caption: config/video.yaml .. tab-item:: frames :gh-blob:`View on GitHub ` .. literalinclude:: ../config/frames.yaml :language: yaml :caption: config/frames.yaml See Also -------- * :doc:`modules` - API Documentation * :doc:`atlas_gui` - Package Overview