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.
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 |