Skip to content

Releases: rfonod/stabilo

v1.1.0

12 Nov 21:21
4bb97fc

Choose a tag to compare

🎯 Oriented Bounding Box (OBB) Support

This release adds comprehensive support for oriented bounding boxes as exclusion masks, enabling more precise masking of rotated objects during video stabilization.

✨ New Features

  • xywha box format: Define boxes with explicit rotation angles [x_center, y_center, width, height, angle_degrees]
  • Smart mask creation: Automatic rotation detection and optimal masking strategy for all box formats
  • Enhanced box transformation: Transform boxes between any format combination while preserving rotation information

🔧 Improvements

  • More precise exclusion masks for rotated objects (only masks actual object area, not enclosing rectangle)
  • Improved feature detection efficiency around rotated objects
  • Fast rectangular masking preserved for axis-aligned boxes

📖 Usage Example

import numpy as np

# Define oriented boxes with rotation angles
obb_boxes = np.array([
    [100, 150, 50, 30, 45],   # 45° rotation
    [200, 200, 60, 40, 90],   # 90° rotation
])

stabilizer.set_ref_frame(ref_frame, obb_boxes, box_format='xywha')

🛡️ Compatibility

  • ✅ Fully backward compatible - existing code using xywh format works without changes
  • ✅ All 26 tests passing (20 existing + 6 new)
  • ✅ Zero security vulnerabilities (CodeQL analysis)

📝 Documentation

  • Updated README with detailed box format explanations and practical examples
  • Added comprehensive test coverage for OBB functionality

Full Changelog: v1.0.1...v1.1.0

v1.0.1

13 Apr 17:07
2883e52

Choose a tag to compare

This is a minor release with documentation improvements and package maintenance updates.

Full Changelog: v1.0.0...v1.0.1

v1.0.0

12 Nov 20:35
d4ebdb7

Choose a tag to compare

Main Changes:

  1. Bounding Box Conversion:

    • Robustified the bounding box conversion function to accommodate aggressive changes.
  2. Utility Scripts:

    • Implemented a script to stabilize bounding boxes.
    • Added README files for all utility scripts to provide usage instructions and examples.
  3. Unit Testing:

    • Implemented basic unit tests for the Stabilizer class using pytest.
  4. Sample Data:

    • Provided sample data to test the utility scripts, including default outputs.
  5. Documentation:

    • Refactored the main README.md for clarity and conciseness.
    • Included a GIF to illustrate both video and track stabilization.
  6. Dependencies:

    • Ensured pytest is listed as a development dependency in pyproject.toml.
  7. References:

    • Added a reference to a preprint paper for research-related citations.

Bug Fixes:
Fixed various minor bugs to improve stability and performance.

Performance Improvements:
Optimized the stabilization algorithm for faster processing times.

Full Changelog: v0.1.0...v1.0.0

v0.1.0

18 Jun 20:05

Choose a tag to compare

v0.1.0 Pre-release
Pre-release

Pre-release of stabilo.

Full Changelog: https://github.com/rfonod/stabilo/commits/v0.1.0