Skip to main content
Version: 0.6

Release Notes

February 26, 2026​

Raptor Guide v0.6.0 Release​

Overview​

This release introduces a Python SDK, a new ground position query API, support for encrypted datasets with license keys, and includes important bug fixes.

Migration Difficulty: Low - FOM was deprecated in v0.5.0 and is now removed.


Breaking Changes​

1. Figure of Merit (FOM) Removed​

The FigureOfMerit output field, deprecated in v0.5.0, has been removed from the API. Use Confidence instead.

Migration:

// Old (removed):
double fom = output.fom;

// New:
double confidence = output.confidence;

2. New Result Enum Value​

A new result value InsufficientMapCoverage has been added:

enum class Result {
Ok,
UncertainOutput,
PoseEstimationFailed,
InvalidInput,
InvalidLicense,
InsufficientMapCoverage, // New
Failed
};

This result is returned when the map does not have sufficient coverage for the given input pose.


New Features​

1. Python SDK​

A new Python SDK (raptor_guide) is now available. The package includes:

  • Prebuilt wheels for Linux x86_64 with python 3.9
  • Python bindings for the Guide SDK
  • Type stubs for IDE support
  • Build scripts for compiling bindings from source
  • Usage examples

Installation:

pip install raptor_guide-0.6.0-<platform>.whl

Basic Usage:

from raptor_guide import Guide, Config, Result

...

# Configure the SDK
config = Config()
config.image_width = width
config.image_height = height
config.map_paths = ["/path/to/map.r3db"]
config.license_path = "/path/to/license.license"

# Initialize
guide = Guide(config)

# Process an image
result = guide.update_pose(
image_data=grayscale_image.flatten(),
h_fov=h_fov,
v_fov=h_fov,
position=[x, y, z],
attitude=[rx, ry, rz, rw],
)

# Check result
if result.result == Result.Ok and result.confidence > 0.75:
print(f"Refined position: {result.position}")
print(f"Confidence: {result.confidence}")

2. Ground Position Query​

New method to query the ground/surface position at a horizontal location on the map:

std::variant<Position, GroundPositionError> getGroundPosition(const Position& position) noexcept;

Use Case: Determining the map surface altitude at a specific location without processing an image.

Example:

Position queryPos = {latitude, longitude, 0.0};  // Altitude is ignored
auto result = guide.getGroundPosition(queryPos);
if (auto* groundPos = std::get_if<Position>(&result)) {
double altitude = (*groundPos)[2];
}

Note: This returns the position of the map surface, which may be the top of buildings or trees if present at that location.

3. Encrypted Dataset Support​

Licenses can now include keys for decrypting encrypted datasets.


Critical Bug Fixes​

1. MaxTime Not Working with Large Uncertainties​

Fixed an issue where the maxTime parameter was not being respected when processing poses with large covariance values.

2. Lower Level of Detail for Narrow FOV​

Fixed an issue where having a narrow FOV could result in lower level of detail of the map.


General Improvements​

  • Improved performance for pose estimation with large uncertainties
  • Improved pose estimation for poses with a lot of horizon in the view
  • Early exit optimization when map coverage is too low
  • Improved automatic GPU selection on multi-GPU systems and new instructions on how to select a specific GPU.
  • Improved documentation for covariance interpretation in relation to chi-squared and confidence intervals

Raptor Guide Service Updates​

1. License Path Configuration​

The guide server now accepts a license path option for configuration.

2. InsufficientMapCoverage Result​

The service protocol has been updated to include the new InsufficientMapCoverage result status.


Migration Checklist​

  • Replace any remaining fom references with confidence
  • Update error handling to handle InsufficientMapCoverage result
  • (Optional) Explore the new Python SDK for prototyping
  • (Optional) Use getGroundPosition() if you need ground altitude queries

Additional Notes​

  • Usage examples have been updated to demonstrate the new getGroundPosition() API

For complete usage examples, see the share/doc/raptor/examples/ directory in the SDK distribution.