Before, user had to specify relative bounding box in BASE coordinates. This same relative bounding box was used to extract local keypoints from map, and to roll it later.
But this bounding box was in relative coordinates, and was not correctly rotated to WORLD coordinates. Therefore, some cells were incorrectly extracted, and others were missing. The following image shows the in red the current planar keypoints, and the keypoints extracted from plane map in white. We can see that lots of keypoints on the right side are not extracted from map, leading to a bad registration of current frame.
Now, user can directly specify a WORLD bounding box to extract keypoints. Also, the Add() method can automatically call the Roll() method by computing the bounding box of the new points to add.
By fixing previous wrong extraction and rolling, this improves SLAM precision as more keypoints can be matched.
The following image shows the in green the current planar keypoints, and the keypoints extracted from plane map in white. We can see that missing keypoints on the right side are now correctly extracted from map, leading to a good registration of current frame.