Expand description
Feature extraction ahead of the position loop.
The position loop of a crate::session::Session runs feature extraction -> matching -> registration -> triangulation one
position at a time. Feature extraction only needs the images of a position, so it can run for the positions that are about
to arrive while the later stages still work on the earlier ones. A Lookahead handle gets the frame sets of upcoming
positions (Lookahead::hint); one worker thread extracts them in arrival order (the images of a position in parallel) into the
session’s feature store, at most limit positions ahead. When the session reaches such a position it takes the finished
result instead of extracting itself.
The result is the same as without lookahead: image ids are issued in the same order (positions in arrival order, the images of a
position in frame-set order), cameras are assigned the same way, and the events (FeaturesExtracted, [feature] log lines) are
emitted when the position is processed, not when it was extracted.
Structs§
- Lookahead
- Handle that tells a session which positions are coming, so that their features are extracted ahead of time (see the module documentation). Cheap to clone; usable from any thread without touching the session.