Skip to content

feat(calibration): implement single-point calibration mode (#99)Feat/single point calibration#108

Open
harsshks wants to merge 3 commits intoruxailab:mainfrom
harsshks:feat/single-point-calibration
Open

feat(calibration): implement single-point calibration mode (#99)Feat/single point calibration#108
harsshks wants to merge 3 commits intoruxailab:mainfrom
harsshks:feat/single-point-calibration

Conversation

@harsshks
Copy link

@harsshks harsshks commented Feb 5, 2026

🎯 Single-Point Calibration Mode Implementation

Addresses Issue #99

Overview

Implements the requested single-point calibration mode as an alternative to the existing multi-point calibration. This provides users with a quick setup option that trades accuracy for speed.

Features Implemented

  • 🎯 Calibration Mode Selection: Radio buttons in CameraConfiguration
  • Single-Point Pattern: Center screen calibration point
  • 📊 Dynamic UI: Stepper content adapts based on selected mode
  • 🔧 State Management: Proper Vuex integration with new mutations
  • 🔄 Backward Compatibility: Existing multi-point mode unchanged

Technical Implementation

  • Added calibrationMode and singlePointPosition to store state
  • Implemented setCalibrationMode mutation with automatic point number adjustment
  • Updated generateRuntimePattern() to support single-point mode
  • Added calibration mode selector UI in CameraConfiguration.vue
  • Dynamic stepper content based on selected calibration mode

Testing Completed

  • Compilation: No TypeScript/JavaScript errors
  • Pattern Generation: Single-point correctly generates center coordinates
  • UI Components: Mode selector working correctly
  • State Management: Vuex integration tested
  • Backend Compatibility: Existing API handles single-point data
  • Regression Testing: Multi-point mode unchanged

User Experience

  • Single-Point Mode: 1 center point, faster setup, lower accuracy
  • Multi-Point Mode: 9 grid points, slower setup, higher accuracy
  • Clear Descriptions: Users understand the trade-offs
  • Seamless Integration: Works with existing calibration flow

Note on Previous Work

The interest had been made in this issue over a week ago but hasn't submitted an implementation. Since this is an important feature for the community and sufficient time has passed, I'm contributing this complete solution. Happy to collaborate if there are any conflicts or suggestions for improvement!

Ready for review and testing! 🚀


Fixes #99

- Enter fullscreen during training and validation
- Exit fullscreen on completion or route leave
- Fix camera preview being clipped by stepper container
- Allow natural scrolling during calibration

Fixes ruxailab#100
- Add calibration mode selection (multi-point vs single-point)
- Update store with calibrationMode state and mutations
- Add single-point pattern generation (center screen)
- Update DoubleCalibrationRecord.vue to support single-point mode
- Add calibration mode selector in CameraConfiguration.vue
- Dynamic stepper content based on calibration mode
- Maintain backward compatibility with existing multi-point mode

Features:
- Quick single-point calibration for faster setup
- Lower accuracy trade-off for speed
- Center screen point positioning
- Dynamic UI based on selected mode
- Proper state management integration

Addresses ruxailab#99
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(calibration): support single-point calibration mode

1 participant