keyFrameCallback automatic call after processCapture()
Currently, in all processors (that process captures), inside processCapture()
the developer is responsible of calling Problem::keyFrameCallback()
just when a KF is created (or whenever the developer puts this line of code, actually).
This has two things that are not desirable:
-
Manual: We don't like to rely on the developers important things like remember calling
keyFrameCallback()
in their processors. - Time: I think it is not desirable to inform the other processors about a new KF (and eventually let them work with it) until the processor that is creating this KF has finished the job (emplace capture, features, factors..).
I propose to call Problem::keyFrameCallback()
automatically and after the capture is processed.
One way to implement it would be modifying the API from void processCapture()
to bool processCapture()
returning if a KF has been created. Then in ProcessorBase::captureCallback()
(after processCapture()
is called) call Problem::keyFrameCallback()
if KF was created.
Edited by Joan Vallvé Navarro