Fixing the bug when reduction = 1 by redefining reduction_pyramid:
When you set reduction = 1, you will see that the published image has wrongly scaled marker position.
This is due to the division by "reduction" which should have been the division by 2.
So that's why the algorithm gives still good output as long as reduction = 2. But as soon as this is not the case, the published image is wrong.
To solve this, I redefined reduction_pyramid from being
[2^pl, 2^(pl-1), ..., 2] where pl = pyramid_levels
to
[2^(pl-1), 2^(pl-2), ..., 0]
and changed the relevant parts in SemiDenseTracking.cpp ()
Fixing the bug when reduction = 1 by redefining reduction_pyramid:
When you set reduction = 1, you will see that the published image has wrongly scaled marker position. This is due to the division by "reduction" which should have been the division by 2. So that's why the algorithm gives still good output as long as reduction = 2. But as soon as this is not the case, the published image is wrong.
To solve this, I redefined reduction_pyramid from being
[2^pl, 2^(pl-1), ..., 2] where pl = pyramid_levels
to[2^(pl-1), 2^(pl-2), ..., 0]
and changed the relevant parts in SemiDenseTracking.cpp ()