InfiniTAM
InfiniTAM copied to clipboard
Re-implement the "Extended" Tracker using the new traversal techniques & lambdas.
The new tracker will stick to the "Engine" convention for now. We can tentatively call it DenseColorAndDepthRigidAlignmentEngine, but it might make sense to combine the different tracker variants in a single class in case the old "Extended" tracker actually re-uses large portions of code from the old "Depth" tracker and the old "Color" tracker.
- [x] Debug through ExtendedTracker_CPU
- [x] Debug through ExtendedTracker_CUDA
- [x] Debug through ColorTracker_CPU again
- [x] Debug through DepthTracker_CPU
- [x] Inspect whether and which portions of code are reused by Extended tracker from Depth Tracker and Color Tracker
- [x] Inspect what kind of hierarchies do all three store and whether they can be combined
Consequence of the latter:
- [ ] Combine the hierarchy level classes into a single class using variadic macros to control which images it holds
At this point, we should be more or less clear on what the architecture should be (how to organize the data and the classes/structs).
The parameters will need to be revised to use serializable structures and enums:
- [ ] Required enums
- [ ] Required struct(s)
Stick to the old function interface for now, hence the following functions will need to be re-implemented and tested for CPU/GPU and PVA/VBH:
- [ ] Constructor and supporting methods, destructor (the first BIG one)
- [ ] CanKeepTracking
- [ ] TrackCamera (the second BIG one)
- [ ] Update Initial Pose
- [ ] RequiresColourRendering
- [ ] RequiresDepthReliability
- [ ] RequiresPointCloudRendering