Skip to content

Let a pipe declare which config keys receive the calibration file - #1814

Open
mattdawkins wants to merge 1 commit into
mainfrom
dev/calibration-keys-passdown-main
Open

Let a pipe declare which config keys receive the calibration file#1814
mattdawkins wants to merge 1 commit into
mainfrom
dev/calibration-keys-passdown-main

Conversation

@mattdawkins

Copy link
Copy Markdown
Member

Stereo calibration was bound to two hardcoded keys, measurer:calibration_file and calibration_reader:file. Pipes whose calibration consumer is neither of those had no way to receive it.

Routing it through a $CONFIG{global:...} indirection does not work: kwiver expands macros at parse time with backward references only (bakery_base.cxx:189-211), while -s blocks are appended last (pipeline_builder.cxx:131-173), so the override never reaches the process.

  • New # Calibration Keys: <k> [k...] header naming the consuming process keys directly, parsed on both server (pipeline_discovery.py) and desktop (common.ts)
  • append_stereo_calibration_kwiver_settings emits one -s per declared key; unset keeps the two conventional keys, so existing pipes are unaffected
  • Header added to the description stop-condition on both parsers so it doesn't bleed into descriptions

Paired with VIAME/VIAME#dev/measurement-calibration-passdown, which declares the header on the measurement and ifremer stereo pipes.

Tests added for declared-keys emission, default fallback, and header parsing.

Stereo calibration was bound to two hardcoded keys, measurer:calibration_file
and calibration_reader:file. Pipes whose calibration consumer is neither of
those (e.g. depth_map:computer:ocv_stereo_disparity:calibration_file) had no
way to receive it, and routing it through a $CONFIG{global:...} indirection
does not work: macros expand at parse time with backward references only,
while -s blocks are appended last, so the override never reaches the process.

Add a '# Calibration Keys: <k> [k...]' header, parsed on both server and
desktop, naming the consuming process keys directly. Unset keeps the two
conventional keys, so existing pipes are unaffected.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant