Skip to content

87. Configuring the ref_kit_config.yaml file

The ref_kit_config.yaml file is structured according to tasks. When the configuration file is edited with a supported IDE such as VSCode or PyCharm, users get syntax assistance and hints inline.

ESR Kit flow diagram

As an example, please see: flow/config/suburban_sanity.yaml. The full configuration example below helps you understand how to create your own config yaml file.

Important

Except for the tasks list and global section, all other configuration fields are only required when the corresponding task is present in the tasks list. For example, parse_config is only required when "parse" is listed in the tasks.

87.1 Task Ordering and Dependencies

The evaluation pipeline follows a specific task sequence with built-in dependencies:

Correct Task Order: parse → denoise → roi → ingest → match → post-match

Key Features

  • Automatic Sorting: Tasks are automatically reordered according to the correct pipeline sequence, regardless of how they appear in your configuration.
  • Gap Tolerance: You can skip tasks in the sequence (e.g., ["match"] or ["parse", "ingest"] is valid).
  • Dependency Validation: Each task can be executed independently using its own configuration YAML file, as long as all required dependencies are specified as configuration options.
  • Error Prevention: No need to manually ensure correct ordering - the system handles this automatically.

Examples

  • Input: ["match", "roi", "ingest"] → Auto-sorted to: ["roi", "ingest", "match"] ✅
  • Input: ["parse", "ingest"] → Remains: ["parse", "ingest"] ✅ (gap allowed)
  • Input: ["ingest"] → Remains: ["ingest"] ✅ (single task)

Each task has a main processing script that wraps the FTX core tool, except for the parse task, which wraps a custom converter script.

87.1.1 Full configuration example

The following YAML file provides a full configuration example.

# yaml-language-server: $schema=./config_schema.json  ---> Do not change this 

fmanager_info:
  host: localhost
  port:
  security_protocol: http

dataset: suburban

tasks:
  - parse
  - denoise
  - roi
  - ingest
  - match

raw_input_dataset: /path/to/raw_input_dataset
ftlx_drive_logs: /path/to/ftlx_drive_logs

max_results: 100
max_failures: 3

map_file:
  path: $ESR_KIT_DRIVE_LOGS/object_lists/suburban_odd/M499_FTX_suburban/M499_FTX_suburban.xodr

parse_config:
  parse_script: $FTX_ESR_KIT_HOME/flow/0_convert/convert_generative_runs.sh
  parse_script_flags: null

denoise_config:
  denoise_config: $FTX_ESR_KIT_HOME/flow/1_preprocess/config/denoiser_config_full.yaml

roi_config:
  roi_config: $FTX_ESR_KIT_HOME/flow/1_preprocess/config/roi_config.yaml

ingest_config:
  ingest_top_file:
    path: $FTX_ESR_KIT_HOME/flow/2_ingestion/config/ingest_extend.osc
  ingest_script_flags: "--videos /path/to/videos"

match_config:
  eval_top_file:
    path: $FTX_ESR_KIT_HOME/evaluators/eval_scenarios/scenarios.osc
  ingestion_runs: $ESR_KIT_WORK_DIR/ingestion

post_match_config:
  post_match_type: "cpp"
  eval_lib_path: $FTX/logiq/src/osc/post_match_adapter.osc
  eval_lib_extend_path: $FTX_ESR_KIT_HOME/evaluators/eval_scenarios/scenarios_cpp_non_osc.osc
  eval_lib_flags: null
  matches: $ESR_KIT_WORK_DIR/matches

87.1.2 YAML file configuration parameters

Parameter Description Type
# yaml-language-server: $schema=./config_schema.json Do not delete or modify this line. It tells the IDE where to find the syntax for the YAML file. comment
fmanager_info Section that specifies the Foretify Manager address and optional connection settings. mapping
fmanager_info.host URL to the Foretify Manager host. Can be a URL or an IP address. string
fmanager_info.port Port to the Foretify Manager host. integer
fmanager_info.security_protocol Security protocol to be used with the Foretify Manager host. "http" or "https"
dataset Arbitrary name for the Pipeline being executed. string
tasks Specifies the tasks to perform. subsequence of: [parse, denoise, roi, ingest, match, post_match]
raw_input_dataset Folder containing input dataset (input to parse task). string
ftlx_drive_logs Path to the processed object lists directory. The evaluation pipeline uses this path as the source object list directory when executing configured tasks. The user sets this path relative to ESR_KIT_DRIVE_LOGS. If parse is the first task, its output is stored in the directory specified by ftlx_drive_logs. string
max_results Limits the number of output artifacts created by any task (default: unlimited). integer
max_failures Number of task failures allowed before stopping the entire flow (default: 0). integer
map_file Properties of the map corresponding to drive logs. mapping
map_file.path Path to the map file. string
parse_config Configuration for the parse task. mapping
 parse_config.parse_script Script used by parse to convert raw data to object lists. string
denoise_config Configuration for the denoise task. mapping
denoise_config.denoise_config Denoiser configuration YAML file used by denoise. string
roi_config Configuration(s) for the ROI task. mapping
roi_config.roi_config ROI config YAML file. Used by roi (as part of denoise). string
ingest_config Configuration(s) for the ingest task. mapping
ingest_config.ingest_top_file Ingestion extend file. mapping
ingest_config.ingest_top_file.path Path to ingestion extend file. Default: flow/2_ingestion/config/ingest_extend.osc. string
ingest_config.ingest_script_flags Optional flags for the ingest script. Used to pass parameters such as video directory path. string
match_config Configuration(s) for the match task. mapping
match_config.eval_top_file Imports the eval content (match and post-match). mapping
match_config.eval_top_file.path Path to eval content import file. Default: evaluators/eval_scenarios/scenarios.osc. string
post_match_config Configuration(s) for the post_match task. mapping
post_match_config.post_match_type Type of post-match. Defaults to "cpp". "cpp"
post_match_config.eval_lib_path File path of the eval library to be used. string
post_match_config.eval_lib_extend_path File path of the eval library extensions to be used. string
post_match_config.eval_lib_flags Flags to be passed to the eval library. string
post_match_config.matches Path to match results directory. Used when post_match is the only task. string