-
Notifications
You must be signed in to change notification settings - Fork 17
Enhance StageOffset calibration with dedicated calibration target support #154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
… support Co-authored-by: beniroquai <4345528+beniroquai@users.noreply.github.com>
…ation Co-authored-by: beniroquai <4345528+beniroquai@users.noreply.github.com>
Added calibration_back.svg and calibration_front.svg images. Updated HistoScanController, StageCenterCalibrationController, and VirtualStageManager to support new calibration features and image references.
@copilot please continue working on the TODOs |
Co-authored-by: beniroquai <4345528+beniroquai@users.noreply.github.com>
I've addressed all the TODO items in the StageCenterCalibrationController: ✅ Configuration Support - Made FRAME-specific constants configurable through a new The implementation now properly separates threading concerns, supports configuration customization, and provides better performance with background movement analysis. All changes maintain backward compatibility while significantly improving the calibration system architecture. Commit: 1d7a1da |
This PR significantly enhances the
StageCenterCalibrationController
to support advanced calibration workflows using a dedicated calibration target PCB for the FRAME microscope system. The implementation addresses all requirements specified in the issue for improving stage calibration accuracy and user experience.Key Features Added
1. Manual Calibration with Known Positions
setKnownPosition(x_mm, y_mm)
endpoint for manual calibration to known coordinatesPositionerManager.setStageOffsetAxis()
for persistent offset storage2. Automatic Calibration with Computer Vision
performAutomaticCalibration(laser_name, laser_intensity)
endpoint with full automation:3. Calibration Target Visualization
getCalibrationTargetInfo()
returns comprehensive target information including:4. Specialized Calibration Patterns
Maze Navigation
startMaze()
,stopMaze()
,getMazeStatus()
for maze pattern navigationStepsize Calibration
performStepsizeCalibration()
for 7×7 hole lattice scanning384 Wellplate Calibration
perform384WellplateCalibration()
for backside wellplate patternTechnical Implementation
Image Processing Pipeline
Data Management
~/imswitch_calibrations/
Robust Error Handling
Configuration System
stageCalibration
configuration section supporting:Enhanced Movement Control
speed_um_s
parameter in calibration APIsAPI Design
All new endpoints follow established ImSwitch patterns:
@APIExport()
decorators for REST API exposureTesting and Validation
Code Quality Improvements
Example Usage
The implementation maintains full backward compatibility with existing spiral calibration functionality while adding powerful new capabilities for precise stage calibration using the dedicated calibration target. The enhanced architecture provides better performance, configurability, and maintainability.
Fixes #153.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.