Avoid non-estimated frames
After #213 (closed), non-estimated frames are not going to be in the Trajectory nor notified to problem.
However, Capture::move()
is required for the cases in which a KF of a compatible time stamp arribed. This is dangerous and several things have to be checked and guaranteed.
However, reviewing the current implementation of the processors, these frames are in fact not necessary. They are just used as a state holder.
- In
ProcessorMotion
and derived processors the last frame is holding the resulting state without being used or accessible. So wasting time storing. - In most of
ProcessorTracker
s, are just mantaining a frame with the state asked toProblem
but not used. In the derived processors that really need this state it could be asked directly.
I propose to just avoid (remove) the existence of "floating" frames. This would remove all the machinery for registration/unregistration, etc. Also, it would imply that Capture::move()
can be definitely forbidden since processors will have floating Captures
that will be linked to a (notified or created) new KF.