Skip to main content

Module ahead

Module ahead 

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