From fafb126814799cbcdd6780143625e689a1c5fafe Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 7 Sep 2025 19:15:50 +0000 Subject: [PATCH 1/8] Initial plan From 9507b8bed7c8512a79aa5e99093235e9e1e0d5ea Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 7 Sep 2025 19:24:10 +0000 Subject: [PATCH 2/8] Implement enhanced stage calibration features with calibration target support Co-authored-by: beniroquai <4345528+beniroquai@users.noreply.github.com> --- .../_test/api/test_stage_calibration.py | 251 +++++++ .../StageCenterCalibrationController.py | 617 +++++++++++++++++- 2 files changed, 867 insertions(+), 1 deletion(-) create mode 100644 imswitch/imcontrol/_test/api/test_stage_calibration.py diff --git a/imswitch/imcontrol/_test/api/test_stage_calibration.py b/imswitch/imcontrol/_test/api/test_stage_calibration.py new file mode 100644 index 000000000..c47d08a33 --- /dev/null +++ b/imswitch/imcontrol/_test/api/test_stage_calibration.py @@ -0,0 +1,251 @@ +""" +API tests for enhanced Stage Center Calibration functionality. +Tests the new calibration target features including manual, automatic, +maze navigation, stepsize and wellplate calibrations. +""" +import pytest +import requests +import time +import json +from typing import Dict, List, Any +from ..api import api_server, base_url + + +def test_stage_calibration_discovery(api_server): + """Test discovery of stage calibration endpoints.""" + response = api_server.get("/openapi.json") + assert response.status_code == 200 + spec = response.json() + + # Find stage calibration related endpoints + paths = spec.get("paths", {}) + calibration_endpoints = [p for p in paths.keys() if "StageCenterCalibration" in p] + + if not calibration_endpoints: + pytest.skip("No stage calibration endpoints found in API") + + print(f"Found {len(calibration_endpoints)} stage calibration endpoints") + + # Test required endpoints are present + required_endpoints = [ + "/StageCenterCalibrationController/setKnownPosition", + "/StageCenterCalibrationController/getCalibrationTargetInfo", + "/StageCenterCalibrationController/performAutomaticCalibration", + "/StageCenterCalibrationController/startMaze", + "/StageCenterCalibrationController/stopMaze", + "/StageCenterCalibrationController/performStepsizeCalibration", + "/StageCenterCalibrationController/perform384WellplateCalibration" + ] + + for required in required_endpoints: + if required in calibration_endpoints: + print(f"✓ Required endpoint found: {required}") + else: + print(f"? Required endpoint missing: {required}") + + +def test_calibration_target_info(api_server): + """Test calibration target information endpoint.""" + endpoint = "/StageCenterCalibrationController/getCalibrationTargetInfo" + + try: + response = api_server.get(endpoint) + if response.status_code == 200: + data = response.json() + + # Check required fields + required_fields = [ + "width_mm", "height_mm", "frontside_svg", "backside_svg", + "calibration_center", "maze_start", "stepsize_grid", "wellplate_start" + ] + + for field in required_fields: + assert field in data, f"Missing required field: {field}" + print(f"✓ Found field: {field}") + + # Validate SVG content + assert ". \ No newline at end of file diff --git a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py index 5559f8170..d03c9ffca 100644 --- a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py +++ b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py @@ -5,6 +5,7 @@ import numpy as np import tifffile as tif +import cv2 from imswitch import IS_HEADLESS from imswitch.imcommon.framework import Signal, Mutex @@ -34,12 +35,30 @@ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._logger = initLogger(self) - # state self._task = None self._is_running = False self._positions: list[tuple[float, float]] = [] self._run_mutex = Mutex() + + # Calibration target constants (in mm) + self.CALIBRATION_CENTER_X = 63.81 + self.CALIBRATION_CENTER_Y = 42.06 + self.MAZE_START_X = 9.5 + self.MAZE_START_Y = 11.5 + self.STEPSIZE_GRID_X = 105.0 + self.STEPSIZE_GRID_Y = 16.0 + self.WELLPLATE_START_X = 12.2 + self.WELLPLATE_START_Y = 9.0 + self.WELLPLATE_SPACING = 4.5 # mm + + # Calibration target dimensions (in mm) + self.TARGET_WIDTH = 127.76 + self.TARGET_HEIGHT = 85.48 + + # Maze navigation state + self._maze_running = False + self._maze_positions = [] # ───────────────────────────── API ────────────────────────────────────── def getDetector(self): @@ -163,6 +182,602 @@ def stopCalibration(self): self._task.join() self._task = None self._logger.info("Calibration stopped.") + + @APIExport() + def setKnownPosition(self, x_mm: float = None, y_mm: float = None): + """ + Manually set the stage offset to a known position. + If no coordinates provided, uses the calibration center (63.81, 42.06). + """ + if x_mm is None: + x_mm = self.CALIBRATION_CENTER_X + if y_mm is None: + y_mm = self.CALIBRATION_CENTER_Y + + stage = self.getStage() + current_pos = stage.getPosition() + + # Set stage offset for both axes + stage.setStageOffsetAxis(knownPosition=x_mm * 1000, currentPosition=current_pos["X"], axis="X") # Convert mm to µm + stage.setStageOffsetAxis(knownPosition=y_mm * 1000, currentPosition=current_pos["Y"], axis="Y") # Convert mm to µm + + self._logger.info(f"Stage offset set to known position: X={x_mm}mm, Y={y_mm}mm") + return {"status": "success", "x_mm": x_mm, "y_mm": y_mm} + + @APIExport() + def performAutomaticCalibration(self, laser_name: str = None, laser_intensity: float = 50.0) -> dict: + """ + Automatic calibration using line detection with Hough transform. + Homes the stage, moves to 30mm offset, searches for white lines, then finds center ring. + """ + if self._is_running: + return {"status": "error", "message": "Calibration already running"} + + self._is_running = True + try: + stage = self.getStage() + + # Home the stage in X and Y + self._logger.info("Homing stage...") + stage.home("X") + stage.home("Y") + + # Move to 30mm offset position + self._logger.info("Moving to 30mm offset position...") + stage.move("X", 30000, True, True) # 30mm in µm + stage.move("Y", 30000, True, True) + + # Turn on laser if specified + if laser_name: + try: + laser_controller = self._master.lasersManager.get(laser_name) + if laser_controller: + laser_controller.setLaserValue(laser_intensity) + laser_controller.setLaserActive(True) + self._logger.info(f"Laser {laser_name} activated at {laser_intensity}") + except Exception as e: + self._logger.warning(f"Could not activate laser {laser_name}: {e}") + + # Search for white lines + center_position = self._findCalibrationCenter() + + if center_position: + # Set the known position offset + self.setKnownPosition(self.CALIBRATION_CENTER_X, self.CALIBRATION_CENTER_Y) + return {"status": "success", "center": center_position} + else: + return {"status": "error", "message": "Could not find calibration center"} + + except Exception as e: + self._logger.error(f"Automatic calibration failed: {e}") + return {"status": "error", "message": str(e)} + finally: + self._is_running = False + # Turn off laser if it was turned on + if laser_name: + try: + laser_controller = self._master.lasersManager.get(laser_name) + if laser_controller: + laser_controller.setLaserActive(False) + except Exception: + pass + + @APIExport() + def getCalibrationTargetInfo(self) -> dict: + """ + Returns information about the calibration target including SVG representation. + """ + frontside_svg = f''' + + + + + + + Center ({self.CALIBRATION_CENTER_X}, {self.CALIBRATION_CENTER_Y}) + + + + Maze Start + + + + + {''.join([f'' for i in range(7) for j in range(7)])} + + 7x7 Grid (1mm spacing) + + ''' + + backside_svg = f''' + + + + + + + + {''.join([f'' + for col in range(24) for row in range(16)])} + + 384 Wellplate Pattern + + ''' + + return { + "width_mm": self.TARGET_WIDTH, + "height_mm": self.TARGET_HEIGHT, + "frontside_svg": frontside_svg, + "backside_svg": backside_svg, + "calibration_center": {"x": self.CALIBRATION_CENTER_X, "y": self.CALIBRATION_CENTER_Y}, + "maze_start": {"x": self.MAZE_START_X, "y": self.MAZE_START_Y}, + "stepsize_grid": {"x": self.STEPSIZE_GRID_X, "y": self.STEPSIZE_GRID_Y}, + "wellplate_start": {"x": self.WELLPLATE_START_X, "y": self.WELLPLATE_START_Y, "spacing": self.WELLPLATE_SPACING} + } + + @APIExport() + def startMaze(self, custom_path: list = None) -> dict: + """ + Start maze navigation from position (9.5, 11.5) with 1000µm steps. + Saves images as TIFF stack during navigation. + """ + if self._maze_running: + return {"status": "error", "message": "Maze already running"} + + self._maze_running = True + self._maze_positions = [] + + # Default maze path (can be customized) + if custom_path is None: + custom_path = [ + (0, 0), (1, 0), (2, 0), (2, 1), (2, 2), (1, 2), (0, 2), (0, 1), # Simple square path + (1, 1) # End at center + ] + + try: + stage = self.getStage() + + # Move to maze start position + start_x_um = self.MAZE_START_X * 1000 # Convert mm to µm + start_y_um = self.MAZE_START_Y * 1000 + stage.move("X", start_x_um, True, True) + stage.move("Y", start_y_um, True, True) + + # Start maze navigation in separate thread + self._task = threading.Thread(target=self._navigateMaze, args=(custom_path,), daemon=True) + self._task.start() + + return {"status": "started", "path_length": len(custom_path)} + + except Exception as e: + self._maze_running = False + self._logger.error(f"Failed to start maze navigation: {e}") + return {"status": "error", "message": str(e)} + + @APIExport() + def stopMaze(self) -> dict: + """Stop maze navigation.""" + self._maze_running = False + if self._task is not None: + self._task.join() + self._task = None + self._logger.info("Maze navigation stopped.") + return {"status": "stopped", "positions_visited": len(self._maze_positions)} + + @APIExport() + def getMazeStatus(self) -> dict: + """Get current maze navigation status.""" + return { + "running": self._maze_running, + "positions_visited": len(self._maze_positions), + "current_position": self._maze_positions[-1] if self._maze_positions else None + } + + @APIExport() + def performStepsizeCalibration(self) -> dict: + """ + Perform stepsize calibration using 7x7 hole lattice at (105, 16) with 1mm spacing. + Captures images at each hole position and saves as TIFF stack. + """ + if self._is_running: + return {"status": "error", "message": "Another calibration is running"} + + self._is_running = True + try: + stage = self.getStage() + detector = self.getDetector() + + # Move to starting position + start_x_um = self.STEPSIZE_GRID_X * 1000 # Convert mm to µm + start_y_um = self.STEPSIZE_GRID_Y * 1000 + + images = [] + positions = [] + + # Scan 7x7 grid + for i in range(7): + for j in range(7): + if not self._is_running: + break + + # Calculate position (1mm = 1000µm spacing) + x_pos = start_x_um + (i * 1000) + y_pos = start_y_um + (j * 1000) + + # Move to position + stage.move("X", x_pos, True, True) + stage.move("Y", y_pos, True, True) + + # Capture image + time.sleep(0.1) # Allow settling + frame = detector.getLatestFrame() + if frame is not None: + images.append(frame) + positions.append((x_pos, y_pos)) + self._logger.debug(f"Captured image at grid position ({i}, {j})") + + # Save TIFF stack + if images: + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + dir_path = os.path.join(os.path.expanduser("~"), "imswitch_calibrations", timestamp) + os.makedirs(dir_path, exist_ok=True) + + stack_path = os.path.join(dir_path, "stepsize_calibration_stack.tiff") + tif.imwrite(stack_path, np.array(images)) + + positions_path = os.path.join(dir_path, "stepsize_positions.csv") + np.savetxt(positions_path, np.array(positions), delimiter=",", header="X(µm),Y(µm)") + + self._logger.info(f"Stepsize calibration completed. {len(images)} images saved to {stack_path}") + return { + "status": "success", + "images_captured": len(images), + "tiff_stack_path": stack_path, + "positions_path": positions_path + } + else: + return {"status": "error", "message": "No images captured"} + + except Exception as e: + self._logger.error(f"Stepsize calibration failed: {e}") + return {"status": "error", "message": str(e)} + finally: + self._is_running = False + + @APIExport() + def perform384WellplateCalibration(self, sample_wells: list = None) -> dict: + """ + Perform 384 wellplate calibration on backside pattern. + Scans random positions of wells A1-P24 and compares center positions. + """ + if self._is_running: + return {"status": "error", "message": "Another calibration is running"} + + self._is_running = True + try: + stage = self.getStage() + detector = self.getDetector() + + # Default sample wells if none provided + if sample_wells is None: + # Sample some wells across the plate + sample_wells = ["A1", "A12", "A24", "H1", "H12", "H24", "P1", "P12", "P24"] + + images = [] + positions = [] + well_info = [] + + for well in sample_wells: + if not self._is_running: + break + + # Parse well coordinate (e.g., "A1" -> row=0, col=0) + row = ord(well[0]) - ord('A') # A=0, B=1, ..., P=15 + col = int(well[1:]) - 1 # 1=0, 2=1, ..., 24=23 + + if row > 15 or col > 23: # Validate well coordinates + self._logger.warning(f"Invalid well coordinate: {well}") + continue + + # Calculate position + x_pos = (self.WELLPLATE_START_X + col * self.WELLPLATE_SPACING) * 1000 # Convert to µm + y_pos = (self.WELLPLATE_START_Y + row * self.WELLPLATE_SPACING) * 1000 + + # Move to position + stage.move("X", x_pos, True, True) + stage.move("Y", y_pos, True, True) + + # Capture image + time.sleep(0.1) # Allow settling + frame = detector.getLatestFrame() + if frame is not None: + images.append(frame) + positions.append((x_pos, y_pos)) + well_info.append({"well": well, "row": row, "col": col, "x": x_pos, "y": y_pos}) + self._logger.debug(f"Captured image at well {well}") + + # Save TIFF stack and data + if images: + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + dir_path = os.path.join(os.path.expanduser("~"), "imswitch_calibrations", timestamp) + os.makedirs(dir_path, exist_ok=True) + + stack_path = os.path.join(dir_path, "wellplate_384_calibration_stack.tiff") + tif.imwrite(stack_path, np.array(images)) + + positions_path = os.path.join(dir_path, "wellplate_positions.csv") + np.savetxt(positions_path, np.array(positions), delimiter=",", header="X(µm),Y(µm)") + + # Save well information as JSON + import json + wells_path = os.path.join(dir_path, "wellplate_wells.json") + with open(wells_path, 'w') as f: + json.dump(well_info, f, indent=2) + + self._logger.info(f"384 wellplate calibration completed. {len(images)} wells scanned.") + return { + "status": "success", + "wells_scanned": len(images), + "tiff_stack_path": stack_path, + "positions_path": positions_path, + "wells_info_path": wells_path, + "wells": well_info + } + else: + return {"status": "error", "message": "No images captured"} + + except Exception as e: + self._logger.error(f"384 wellplate calibration failed: {e}") + return {"status": "error", "message": str(e)} + finally: + self._is_running = False + + # ─────────────────────── new calibration helpers ─────────────────────── + + def _findCalibrationCenter(self) -> tuple: + """ + Find calibration center using line detection and ring positioning. + Returns (x, y) coordinates in micrometers or None if not found. + """ + stage = self.getStage() + detector = self.getDetector() + + # Step 1: Search for white lines in X direction + self._logger.info("Searching for white lines in X direction...") + line_found_x = None + + for i in range(50): # Max 50 steps of 1000µm = 50mm search + if not self._is_running: + return None + + # Move 1000µm in X direction + current_pos = stage.getPosition() + new_x = current_pos["X"] + 1000 + stage.move("X", new_x, True, True) + + # Take image and check for lines + time.sleep(0.1) + frame = detector.getLatestFrame() + if frame is not None and self._detectWhiteLine(frame): + line_found_x = new_x + self._logger.info(f"White line found in X at position {new_x}") + break + + if line_found_x is None: + self._logger.error("No white line found in X direction") + return None + + # Step 2: Search for white lines in Y direction + self._logger.info("Searching for white lines in Y direction...") + line_found_y = None + + for i in range(50): # Max 50 steps + if not self._is_running: + return None + + # Move 1000µm in Y direction + current_pos = stage.getPosition() + new_y = current_pos["Y"] + 1000 + stage.move("Y", new_y, True, True) + + # Take image and check for lines + time.sleep(0.1) + frame = detector.getLatestFrame() + if frame is not None and self._detectWhiteLine(frame): + line_found_y = new_y + self._logger.info(f"White line found in Y at position {new_y}") + break + + if line_found_y is None: + self._logger.error("No white line found in Y direction") + return None + + # Step 3: Continue alternating until center is bright + self._logger.info("Searching for bright center...") + baseline_intensity = self._grabMeanFrame() + + for iteration in range(20): # Max iterations to find center + if not self._is_running: + return None + + # Move in X direction and check intensity + current_pos = stage.getPosition() + stage.move("X", current_pos["X"] + 1000, True, True) + time.sleep(0.1) + + intensity = self._grabMeanFrame() + if intensity and baseline_intensity and intensity > baseline_intensity * 2.0: + self._logger.info("High intensity detected - near center") + + # Step 4: Look for rings and center on them + center_pos = self._findRingCenter() + if center_pos: + return center_pos + + # Move in Y direction and check intensity + current_pos = stage.getPosition() + stage.move("Y", current_pos["Y"] + 1000, True, True) + time.sleep(0.1) + + intensity = self._grabMeanFrame() + if intensity and baseline_intensity and intensity > baseline_intensity * 2.0: + self._logger.info("High intensity detected - near center") + + # Look for rings and center on them + center_pos = self._findRingCenter() + if center_pos: + return center_pos + + # If we reach here, return current position as best guess + final_pos = stage.getPosition() + return (final_pos["X"], final_pos["Y"]) + + def _detectWhiteLine(self, image: np.ndarray) -> bool: + """ + Detect white lines in image using Hough transform. + Returns True if lines are detected. + """ + try: + # Convert to grayscale if needed + if len(image.shape) == 3: + gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + else: + gray = image.astype(np.uint8) + + # Apply edge detection + edges = cv2.Canny(gray, 50, 150, apertureSize=3) + + # Apply Hough line transform + lines = cv2.HoughLines(edges, 1, np.pi/180, threshold=100) + + return lines is not None and len(lines) > 0 + + except Exception as e: + self._logger.error(f"Line detection failed: {e}") + return False + + def _findRingCenter(self) -> tuple: + """ + Find center of rings using Hough circle transform. + Returns (x, y) stage coordinates or None if not found. + """ + try: + detector = self.getDetector() + frame = detector.getLatestFrame() + if frame is None: + return None + + # Convert to grayscale if needed + if len(frame.shape) == 3: + gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + else: + gray = frame.astype(np.uint8) + + # Apply Gaussian blur + blurred = cv2.GaussianBlur(gray, (9, 9), 2) + + # Detect circles using Hough transform + circles = cv2.HoughCircles( + blurred, + cv2.HOUGH_GRADIENT, + dp=1, + minDist=30, + param1=50, + param2=30, + minRadius=10, + maxRadius=100 + ) + + if circles is not None and len(circles[0]) > 0: + # Find the largest circle (assuming it's the calibration ring) + circles = np.round(circles[0, :]).astype("int") + largest_circle = max(circles, key=lambda c: c[2]) # Max by radius + + center_x, center_y, radius = largest_circle + self._logger.info(f"Ring found at image coordinates ({center_x}, {center_y}) with radius {radius}") + + # Convert image coordinates to stage offset + # This is a simplified approach - in practice, you'd need proper calibration + stage = self.getStage() + current_pos = stage.getPosition() + + # Calculate offset needed to center the ring (simplified pixel-to-micron conversion) + image_center_x = gray.shape[1] // 2 + image_center_y = gray.shape[0] // 2 + + # Assume 1 pixel = 1 micrometer (this should be calibrated properly) + offset_x = (center_x - image_center_x) * 1.0 # Adjust this scaling factor + offset_y = (center_y - image_center_y) * 1.0 + + # Move stage to center the ring + target_x = current_pos["X"] - offset_x # Negative because stage moves opposite to image + target_y = current_pos["Y"] - offset_y + + stage.move("X", target_x, True, True) + stage.move("Y", target_y, True, True) + + final_pos = stage.getPosition() + return (final_pos["X"], final_pos["Y"]) + + return None + + except Exception as e: + self._logger.error(f"Ring detection failed: {e}") + return None + + def _navigateMaze(self, path: list): + """ + Navigate through maze path, capturing images at each position. + """ + stage = self.getStage() + detector = self.getDetector() + + images = [] + positions = [] + + try: + for step_idx, (dx, dy) in enumerate(path): + if not self._maze_running: + break + + # Calculate target position (1000µm steps) + start_x = self.MAZE_START_X * 1000 + start_y = self.MAZE_START_Y * 1000 + target_x = start_x + (dx * 1000) + target_y = start_y + (dy * 1000) + + # Move to position + stage.move("X", target_x, True, True) + stage.move("Y", target_y, True, True) + + # Capture image + time.sleep(0.1) # Allow settling + frame = detector.getLatestFrame() + if frame is not None: + images.append(frame) + positions.append((target_x, target_y)) + self._maze_positions.append((target_x, target_y)) + self._logger.debug(f"Maze step {step_idx + 1}/{len(path)}: moved to ({target_x}, {target_y})") + + # Save TIFF stack + if images: + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + dir_path = os.path.join(os.path.expanduser("~"), "imswitch_calibrations", timestamp) + os.makedirs(dir_path, exist_ok=True) + + stack_path = os.path.join(dir_path, "maze_navigation_stack.tiff") + tif.imwrite(stack_path, np.array(images)) + + positions_path = os.path.join(dir_path, "maze_positions.csv") + np.savetxt(positions_path, np.array(positions), delimiter=",", header="X(µm),Y(µm)") + + self._logger.info(f"Maze navigation completed. {len(images)} images saved to {stack_path}") + + except Exception as e: + self._logger.error(f"Maze navigation failed: {e}") + finally: + self._maze_running = False + # ─────────────────────── helpers ──────────────────────────────────────── def _grabMeanFrame(self): From fc7003c8c0aba26a84c5e1c6e21005bbab40a821 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 7 Sep 2025 19:27:22 +0000 Subject: [PATCH 3/8] Add robust error handling and documentation for enhanced stage calibration Co-authored-by: beniroquai <4345528+beniroquai@users.noreply.github.com> --- .../StageCenterCalibrationController.py | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py index d03c9ffca..4befd81e4 100644 --- a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py +++ b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py @@ -230,11 +230,14 @@ def performAutomaticCalibration(self, laser_name: str = None, laser_intensity: f # Turn on laser if specified if laser_name: try: - laser_controller = self._master.lasersManager.get(laser_name) - if laser_controller: - laser_controller.setLaserValue(laser_intensity) - laser_controller.setLaserActive(True) - self._logger.info(f"Laser {laser_name} activated at {laser_intensity}") + if hasattr(self._master, 'lasersManager'): + laser_controller = self._master.lasersManager.get(laser_name) + if laser_controller: + laser_controller.setLaserValue(laser_intensity) + laser_controller.setLaserActive(True) + self._logger.info(f"Laser {laser_name} activated at {laser_intensity}") + else: + self._logger.warning("Laser manager not available") except Exception as e: self._logger.warning(f"Could not activate laser {laser_name}: {e}") @@ -256,9 +259,10 @@ def performAutomaticCalibration(self, laser_name: str = None, laser_intensity: f # Turn off laser if it was turned on if laser_name: try: - laser_controller = self._master.lasersManager.get(laser_name) - if laser_controller: - laser_controller.setLaserActive(False) + if hasattr(self._master, 'lasersManager'): + laser_controller = self._master.lasersManager.get(laser_name) + if laser_controller: + laser_controller.setLaserActive(False) except Exception: pass From ad058dd3cc95cd230a1d648d93392295dd2d98c9 Mon Sep 17 00:00:00 2001 From: beniroquai Date: Mon, 8 Sep 2025 13:21:24 +0200 Subject: [PATCH 4/8] Add calibration SVGs and update controllers Added calibration_back.svg and calibration_front.svg images. Updated HistoScanController, StageCenterCalibrationController, and VirtualStageManager to support new calibration features and image references. --- imswitch/_data/images/calibration_back.svg | 7330 +++++++++ imswitch/_data/images/calibration_front.svg | 13533 ++++++++++++++++ .../controllers/HistoScanController.py | 2 +- .../StageCenterCalibrationController.py | 108 +- .../positioners/VirtualStageManager.py | 29 +- 5 files changed, 20965 insertions(+), 37 deletions(-) create mode 100644 imswitch/_data/images/calibration_back.svg create mode 100644 imswitch/_data/images/calibration_front.svg diff --git a/imswitch/_data/images/calibration_back.svg b/imswitch/_data/images/calibration_back.svg new file mode 100644 index 000000000..51a9c9208 --- /dev/null +++ b/imswitch/_data/images/calibration_back.svg @@ -0,0 +1,7330 @@ + + + +GNDGNDThis is the "A1" indexing notch for this side.This is the "A1" indexing notch for this side.CANHCANH12V12VCANLCANLJ102J102 diff --git a/imswitch/_data/images/calibration_front.svg b/imswitch/_data/images/calibration_front.svg new file mode 100644 index 000000000..f1ae5a38a --- /dev/null +++ b/imswitch/_data/images/calibration_front.svg @@ -0,0 +1,13533 @@ + + + +12V12VThis is the "A1" indexing notch for this side.This is the "A1" indexing notch for this side.xx2.54mm-header2.54mm-header12V12VXHXHCANHCANHCANLCANLCANHCANHGNDGNDGNDGNDCANLCANLyymAIKroscope::calibration-platemAIKroscope::calibration-platebeniroquai, christiankuttkebeniroquai, christiankuttke2025-08-20; Rev. D2025-08-20; Rev. DopenUC2 GmbHopenUC2 GmbHR102R102D112D112D107D107D103D103R101R101D104D104D114D114D106D106D110D110D102D102D109D109D113D113D108D108D111D111R103R103D105D105D101D101J101J101 diff --git a/imswitch/imcontrol/controller/controllers/HistoScanController.py b/imswitch/imcontrol/controller/controllers/HistoScanController.py index d6e3960b9..d2791e202 100644 --- a/imswitch/imcontrol/controller/controllers/HistoScanController.py +++ b/imswitch/imcontrol/controller/controllers/HistoScanController.py @@ -494,7 +494,7 @@ def fetchStageMap(self, resizeFactor:float=1, mapID:int=0): return Response(im_bytes, headers=headers, media_type='image/png') @APIExport(runOnUIThread=False) - def getSampleLayoutFilePaths(self): + def getSampleLayoutFilePaths(self) -> list: # return the paths of the sample layouts # images are provided via imswitchserver _baseDataFilesDir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '_data') diff --git a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py index 4befd81e4..1d2196fc7 100644 --- a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py +++ b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py @@ -114,8 +114,8 @@ def getIsCalibrationRunning(self): # ──────────────────────────── worker ──────────────────────────────────── def _worker(self, cx, cy, speed, step_um, max_r, bf): - self.getStage().move("X", cx, True, True) - self.getStage().move("Y", cy, True, True) + self.getStage().move(axis="X", value=cx, is_absolute=True, is_blocking=True) + self.getStage().move(axis="Y", value=cy, is_absolute=True, is_blocking=True) baseline = self._grabMeanFrame() if baseline is None: @@ -210,6 +210,15 @@ def performAutomaticCalibration(self, laser_name: str = None, laser_intensity: f Automatic calibration using line detection with Hough transform. Homes the stage, moves to 30mm offset, searches for white lines, then finds center ring. """ + self.performAutomaticCalibrationInThread = threading.Thread( + target=self._performAutomaticCalibrationForThread, + args=(laser_name, laser_intensity), + daemon=True, + ) + self.performAutomaticCalibrationInThread.start() + return {"status": "started"} + + def _performAutomaticCalibrationForThread(self, laser_name: str = None, laser_intensity: float = 50.0) -> dict: if self._is_running: return {"status": "error", "message": "Calibration already running"} @@ -217,15 +226,19 @@ def performAutomaticCalibration(self, laser_name: str = None, laser_intensity: f try: stage = self.getStage() + # Home the stage in X and Y + self.getStage().resetStageOffsetAxis(axis="X") + self.getStage().resetStageOffsetAxis(axis="Y") + self._logger.info("Homing stage...") - stage.home("X") - stage.home("Y") + stage.home_x() + stage.home_y() # Move to 30mm offset position self._logger.info("Moving to 30mm offset position...") - stage.move("X", 30000, True, True) # 30mm in µm - stage.move("Y", 30000, True, True) + stage.move(axis="X", value=30000, is_absolute=True, is_blocking=True) # 30mm in µm + stage.move(axis="Y", value=30000, is_absolute=True, is_blocking=True) # Turn on laser if specified if laser_name: @@ -270,7 +283,12 @@ def performAutomaticCalibration(self, laser_name: str = None, laser_intensity: f def getCalibrationTargetInfo(self) -> dict: """ Returns information about the calibration target including SVG representation. + SVG files are served from disk via the ImSwitch server. """ + # Get SVG files from disk + svg_files = self._getCalibrationSVGFiles() + + # Generate fallback SVG content if files are not found frontside_svg = f''' @@ -311,13 +329,59 @@ def getCalibrationTargetInfo(self) -> dict: return { "width_mm": self.TARGET_WIDTH, "height_mm": self.TARGET_HEIGHT, - "frontside_svg": frontside_svg, - "backside_svg": backside_svg, + "svg_file_paths": svg_files, # Paths to SVG files served by ImSwitch server + #"frontside_svg": frontside_svg, # Fallback SVG content + #"backside_svg": backside_svg, # Fallback SVG content "calibration_center": {"x": self.CALIBRATION_CENTER_X, "y": self.CALIBRATION_CENTER_Y}, "maze_start": {"x": self.MAZE_START_X, "y": self.MAZE_START_Y}, "stepsize_grid": {"x": self.STEPSIZE_GRID_X, "y": self.STEPSIZE_GRID_Y}, "wellplate_start": {"x": self.WELLPLATE_START_X, "y": self.WELLPLATE_START_Y, "spacing": self.WELLPLATE_SPACING} } + + def _getCalibrationSVGFiles(self) -> dict: + """ + Get paths to calibration SVG files from disk. + Returns dictionary with file paths that can be served via ImSwitch server. + """ + try: + _baseDataFilesDir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '_data') + images_dir = os.path.join(_baseDataFilesDir, 'images') + + svg_files = { + "frontside_svg_path": None, + "backside_svg_path": None, + "available_svg_files": [] + } + + # Check if images directory exists + if not os.path.exists(images_dir): + self._logger.warning(f"Images directory not found: {images_dir}") + return svg_files + + # Find all SVG files in directory and subfolders + for root, dirs, files in os.walk(images_dir): + for file in files: + if file.lower().endswith('.svg'): + # Get relative path from _data directory for server serving + relative_path = os.path.join(root.split("_data/")[-1], file) + svg_files["available_svg_files"].append(relative_path) + + # Check for specific calibration files + if 'calibration_front' in file.lower() or 'front' in file.lower(): + svg_files["frontside_svg_path"] = relative_path + elif 'calibration_back' in file.lower() or 'back' in file.lower(): + svg_files["backside_svg_path"] = relative_path + + self._logger.info(f"Found {len(svg_files['available_svg_files'])} SVG files in {images_dir}") + return svg_files + + except Exception as e: + self._logger.error(f"Failed to get SVG files: {e}") + return { + "frontside_svg_path": None, + "backside_svg_path": None, + "available_svg_files": [] + } @APIExport() def startMaze(self, custom_path: list = None) -> dict: @@ -344,8 +408,8 @@ def startMaze(self, custom_path: list = None) -> dict: # Move to maze start position start_x_um = self.MAZE_START_X * 1000 # Convert mm to µm start_y_um = self.MAZE_START_Y * 1000 - stage.move("X", start_x_um, True, True) - stage.move("Y", start_y_um, True, True) + stage.move(axis="X", value=start_x_um, is_absolute=True, is_blocking=True) + stage.move(axis="Y", value=start_y_um, is_absolute=True, is_blocking=True) # Start maze navigation in separate thread self._task = threading.Thread(target=self._navigateMaze, args=(custom_path,), daemon=True) @@ -409,8 +473,8 @@ def performStepsizeCalibration(self) -> dict: y_pos = start_y_um + (j * 1000) # Move to position - stage.move("X", x_pos, True, True) - stage.move("Y", y_pos, True, True) + stage.move(axis="X", value=x_pos, is_absolute=True, is_blocking=True) + stage.move(axis="Y", value=y_pos, is_absolute=True, is_blocking=True) # Capture image time.sleep(0.1) # Allow settling @@ -488,8 +552,8 @@ def perform384WellplateCalibration(self, sample_wells: list = None) -> dict: y_pos = (self.WELLPLATE_START_Y + row * self.WELLPLATE_SPACING) * 1000 # Move to position - stage.move("X", x_pos, True, True) - stage.move("Y", y_pos, True, True) + stage.move(axis="X", value=x_pos, is_absolute=True, is_blocking=True) + stage.move(axis="Y", value=y_pos, is_absolute=True, is_blocking=True) # Capture image time.sleep(0.1) # Allow settling @@ -557,7 +621,7 @@ def _findCalibrationCenter(self) -> tuple: # Move 1000µm in X direction current_pos = stage.getPosition() new_x = current_pos["X"] + 1000 - stage.move("X", new_x, True, True) + stage.move(axis = "X", value = new_x, is_absolute = True, is_blocking = True) # Take image and check for lines time.sleep(0.1) @@ -582,7 +646,7 @@ def _findCalibrationCenter(self) -> tuple: # Move 1000µm in Y direction current_pos = stage.getPosition() new_y = current_pos["Y"] + 1000 - stage.move("Y", new_y, True, True) + stage.move(axis="Y", value=new_y, is_absolute=True, is_blocking=True) # Take image and check for lines time.sleep(0.1) @@ -606,7 +670,7 @@ def _findCalibrationCenter(self) -> tuple: # Move in X direction and check intensity current_pos = stage.getPosition() - stage.move("X", current_pos["X"] + 1000, True, True) + stage.move(axis="X", value=current_pos["X"] + 1000, is_absolute=True, is_blocking=True) time.sleep(0.1) intensity = self._grabMeanFrame() @@ -620,7 +684,7 @@ def _findCalibrationCenter(self) -> tuple: # Move in Y direction and check intensity current_pos = stage.getPosition() - stage.move("Y", current_pos["Y"] + 1000, True, True) + stage.move(axis="Y", value=current_pos["Y"] + 1000, is_absolute=True, is_blocking=True) time.sleep(0.1) intensity = self._grabMeanFrame() @@ -717,8 +781,8 @@ def _findRingCenter(self) -> tuple: target_x = current_pos["X"] - offset_x # Negative because stage moves opposite to image target_y = current_pos["Y"] - offset_y - stage.move("X", target_x, True, True) - stage.move("Y", target_y, True, True) + stage.move(axis="X", value=target_x, is_absolute=True, is_blocking=True) + stage.move(axis="Y", value=target_y, is_absolute=True, is_blocking=True) final_pos = stage.getPosition() return (final_pos["X"], final_pos["Y"]) @@ -751,8 +815,8 @@ def _navigateMaze(self, path: list): target_y = start_y + (dy * 1000) # Move to position - stage.move("X", target_x, True, True) - stage.move("Y", target_y, True, True) + stage.move(axis="X", value=target_x, is_absolute=True, is_blocking=True) + stage.move(axis="Y", value=target_y, is_absolute=True, is_blocking=True) # Capture image time.sleep(0.1) # Allow settling diff --git a/imswitch/imcontrol/model/managers/positioners/VirtualStageManager.py b/imswitch/imcontrol/model/managers/positioners/VirtualStageManager.py index 9f9274712..ad0f3aa96 100644 --- a/imswitch/imcontrol/model/managers/positioners/VirtualStageManager.py +++ b/imswitch/imcontrol/model/managers/positioners/VirtualStageManager.py @@ -29,21 +29,19 @@ def __init__(self, positionerInfo, name, **lowLevelManagers): def move(self, value=0, axis="X", is_absolute=False, is_blocking=True, acceleration=None, speed=None, isEnable=None, timeout=1): if axis == "X": self._positioner.move(x=value+self.offset_x, is_absolute=is_absolute) - if axis == "Y": + elif axis == "Y": self._positioner.move(y=value+self.offset_y, is_absolute=is_absolute) - if axis == "Z": + elif axis == "Z": self._positioner.move(z=value+self.offset_z, is_absolute=is_absolute) - if axis == "A": + elif axis == "A": self._positioner.move(a=value+self.offset_a, is_absolute=is_absolute) - if axis == "XYZ": + elif axis == "XYZ": self._positioner.move(x=value[0]+self.offset_x, y=value[1]+self.offset_y, z=value[2]+self.offset_z, is_absolute=is_absolute) - if axis == "XY": + elif axis == "XY": self._positioner.move(x=value[0]+self.offset_x, y=value[1]+self.offset_y, is_absolute=is_absolute) for axes in ["A","X","Y","Z"]: - self._position[axes] = self._positioner.position[axes] - - self.getPosition() # update position in GUI - + self.setPosition(axis=axes, value=self._positioner.position[axes]) + def setPositionOnDevice(self, axis, value): if axis == "X": self._positioner.move(x=value, is_absolute=True) @@ -58,7 +56,7 @@ def setPositionOnDevice(self, axis, value): if axis == "XY": self._positioner.move(x=value[0], y=value[1], is_absolute=True) for axes in ["A","X","Y","Z"]: - self._position[axes] = self._positioner.position[axes] + self.setPosition(axis=axes, value=self._positioner.position[axes]) #self._commChannel.sigUpdateMotorPosition.emit() def moveForever(self, speed=(0, 0, 0, 0), is_stop=False): @@ -68,7 +66,9 @@ def setSpeed(self, speed, axis=None): pass def setPosition(self, value, axis): - pass + self._position[axis] = value + posDict = {"ESP32Stage": {axis: value}} + self._commChannel.sigUpdateMotorPosition.emit(posDict) def getPosition(self): # load position from device @@ -116,21 +116,22 @@ def doHome(self, axis, isBlocking=False): if axis == "Z": self.home_z(isBlocking) - def home_x(self, isBlocking): + def home_x(self, isBlocking=False): self.move(value=0, axis="X", is_absolute=True) self.setPosition(axis="X", value=0) - def home_y(self,isBlocking): + def home_y(self, isBlocking=False): self.move(value=0, axis="Y", is_absolute=True) self.setPosition(axis="Y", value=0) - def home_z(self,isBlocking): + def home_z(self, isBlocking=False): self.move(value=0, axis="Z", is_absolute=True) self.setPosition(axis="Z", value=0) def home_xyz(self): if self.homeXenabled and self.homeYenabled and self.homeZenabled: [self.setPosition(axis=axis, value=0) for axis in ["X","Y","Z"]] + def setStageOffset(self, axis, offset): From 4520041579000e471c54a19abccbac4f807265e4 Mon Sep 17 00:00:00 2001 From: Benedict Diederich Date: Mon, 8 Sep 2025 17:20:23 +0200 Subject: [PATCH 5/8] first tests on raspi --- circle.tif | Bin 0 -> 2304256 bytes .../StageCenterCalibrationController.py | 594 +++++++++--------- .../managers/positioners/ESP32StageManager.py | 24 +- imswitch/teststagecenter.py | 11 + 4 files changed, 318 insertions(+), 311 deletions(-) create mode 100644 circle.tif create mode 100644 imswitch/teststagecenter.py diff --git a/circle.tif b/circle.tif new file mode 100644 index 0000000000000000000000000000000000000000..e51c2a0297385dcc7b53836cc938c30482b3741d GIT binary patch literal 2304256 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 z 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

CNE^hB?U_srn&F{9) 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 literal 0 HcmV?d00001 diff --git a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py index 1d2196fc7..7e63d82cf 100644 --- a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py +++ b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py @@ -51,7 +51,12 @@ def __init__(self, *args, **kwargs): self.WELLPLATE_START_X = 12.2 self.WELLPLATE_START_Y = 9.0 self.WELLPLATE_SPACING = 4.5 # mm + self.MAX_SPEED = 20000 # µm/s + # TODO: This is FRAME Specific - make this configurable through the configs + self.HOME_POS_X = 0*1000 # in µm in x we are roughly at the wellplatepos 0 + self.HOME_POS_Y = 87*1000 # in µm in y we are roughly at the wellplatepos 87mm (opposite site ) + # Calibration target dimensions (in mm) self.TARGET_WIDTH = 127.76 self.TARGET_HEIGHT = 85.48 @@ -69,120 +74,33 @@ def getStage(self): stageName = self._master.positionersManager.getAllDeviceNames()[0] return self._master.positionersManager[stageName] - @APIExport() - def performCalibration( - self, - start_x: float, - start_y: float, - exposure_time_us: int = 3000, - speed: int = 5000, - step_um: float = 50.0, - max_radius_um: float = 2000.0, - brightness_factor: float = 1.4, - ) -> list[tuple[float, float]]: - if self._is_running: - return self._positions - - self._is_running = True - self._positions.clear() - - try: - self.getDetector().setExposure(exposure_time_us) - except AttributeError: - pass - - self._task = threading.Thread( - target=self._worker, - args=( - start_x, - start_y, - speed, - step_um, - max_radius_um, - brightness_factor, - ), - daemon=True, - ) - self._task.start() - self._task.join() - return self._positions.copy() - @APIExport() def getIsCalibrationRunning(self): return self._is_running - # ──────────────────────────── worker ──────────────────────────────────── - - def _worker(self, cx, cy, speed, step_um, max_r, bf): - self.getStage().move(axis="X", value=cx, is_absolute=True, is_blocking=True) - self.getStage().move(axis="Y", value=cy, is_absolute=True, is_blocking=True) - - baseline = self._grabMeanFrame() - if baseline is None: - self._logger.error("No detector image – aborting") - self._is_running = False - return - - directions = [(1, 0), (0, 1), (-1, 0), (0, -1)] # E, N, W, S - dir_idx = 0 - run_len = 1 - legs_done = 0 - off_x = off_y = 0.0 - - while self._is_running: - dx, dy = directions[dir_idx] - axis = "X" if dx else "Y" - - for _ in range(run_len): - if not self._is_running: - break - off_x += dx * step_um - off_y += dy * step_um - - if max(abs(off_x), abs(off_y)) > max_r: - self._logger.info("Max radius reached – stop") - self._is_running = False - break - - target = (cx + off_x) if axis == "X" else (cy + off_y) - ctrl = MovementController(self.getStage()) - ctrl.move_to_position(target, axis=axis, speed=speed, is_absolute=True) - - # ───── grab frames while travelling ───── - while not ctrl.is_target_reached() and self._is_running: - m = self._grabMeanFrame() - p = self.getStage().getPosition() - self._positions.append((p["X"], p["Y"])) - if m is not None and m >= baseline * bf: - self._logger.info("Brightness threshold hit – done") - self._is_running = False - break - time.sleep(0.002) # mild CPU relief - - if not self._is_running: - break - - if not self._is_running: - break - - dir_idx = (dir_idx + 1) % 4 - legs_done += 1 - if legs_done == 2: - legs_done = 0 - run_len += 1 # enlarge spiral - - self._savePositionsCsv() - self._is_running = False + @APIExport() + def getCalibrationStatus(self) -> dict: + """ + Get the current status of any running calibration process. + """ + return { + "is_running": self._is_running, + "positions_collected": len(self._positions), + "last_position": self._positions[-1] if self._positions else None + } @APIExport() - def stopCalibration(self): - """Stops the calibration process.""" + def stopCalibration(self) -> dict: + """ + Stop any running calibration process. + """ + if not self._is_running: + return {"status": "info", "message": "No calibration is currently running"} + self._is_running = False - if self._task is not None: - self._task.join() - self._task = None - self._logger.info("Calibration stopped.") - + self._logger.info("Calibration process stopped by user request") + return {"status": "stopped", "message": "Calibration process has been stopped"} + @APIExport() def setKnownPosition(self, x_mm: float = None, y_mm: float = None): """ @@ -197,87 +115,109 @@ def setKnownPosition(self, x_mm: float = None, y_mm: float = None): stage = self.getStage() current_pos = stage.getPosition() - # Set stage offset for both axes + # Set stage offset for both axes # TODO: NOT CORRECT stage.setStageOffsetAxis(knownPosition=x_mm * 1000, currentPosition=current_pos["X"], axis="X") # Convert mm to µm stage.setStageOffsetAxis(knownPosition=y_mm * 1000, currentPosition=current_pos["Y"], axis="Y") # Convert mm to µm self._logger.info(f"Stage offset set to known position: X={x_mm}mm, Y={y_mm}mm") return {"status": "success", "x_mm": x_mm, "y_mm": y_mm} - + @APIExport() - def performAutomaticCalibration(self, laser_name: str = None, laser_intensity: float = 50.0) -> dict: + def findCalibrationCenter( + self, + unit_um: float = 1000.0, + increment_units: int = 1, + start_len_units: int = 1, + min_x: float = None, + max_x: float = None, + min_y: float = None, + max_y: float = None, + intensity_factor: float = 1.5, + settle_s: float = 0.1, + max_legs: int = 50, + laser_name: str = None, + laser_intensity: float = None, + homing_procedure: bool = False + ) -> dict: """ - Automatic calibration using line detection with Hough transform. - Homes the stage, moves to 30mm offset, searches for white lines, then finds center ring. + API export for spiral search calibration center finding. + Starts the search in a separate thread and returns immediately. + + Args: + unit_um: Base grid step in µm + increment_units: Increase after every two legs + start_len_units: Starting leg length in units + min_x, max_x, min_y, max_y: Absolute stage limits in µm + intensity_factor: Stop when mean >= factor * baseline + settle_s: Dwell after each move + max_legs: Safety cap on spiral legs + + Returns: + dict: Status information """ - self.performAutomaticCalibrationInThread = threading.Thread( - target=self._performAutomaticCalibrationForThread, - args=(laser_name, laser_intensity), + if self._is_running: + return {"status": "error", "message": "Another calibration is already running"} + self.findCalibrationCenterThread = threading.Thread( + target=self._findCalibrationCenterForThread, + args=(unit_um, increment_units, start_len_units, min_x, max_x, min_y, max_y, intensity_factor, settle_s, max_legs, laser_name, laser_intensity, homing_procedure), daemon=True, ) - self.performAutomaticCalibrationInThread.start() - return {"status": "started"} + self.findCalibrationCenterThread.start() + return {"status": "started", "message": "Calibration center search started"} - def _performAutomaticCalibrationForThread(self, laser_name: str = None, laser_intensity: float = 50.0) -> dict: + def _findCalibrationCenterForThread( + self, + unit_um: float = 1000.0, + increment_units: int = 1, + start_len_units: int = 1, + min_x: float = None, + max_x: float = None, + min_y: float = None, + max_y: float = None, + intensity_factor: float = 1.5, + settle_s: float = 0.1, + max_legs: int = 400, + laser_name: str = None, + laser_intensity: float = None, + homing_procedure: bool = False + ) -> dict: # TODO: I think this interface can be neglected, we can direclty use this to start _findCalibrationCenter + """ + Thread implementation for calibration center finding. + """ if self._is_running: - return {"status": "error", "message": "Calibration already running"} + return {"status": "error", "message": "Another calibration is already running"} self._is_running = True try: - stage = self.getStage() - - - # Home the stage in X and Y - self.getStage().resetStageOffsetAxis(axis="X") - self.getStage().resetStageOffsetAxis(axis="Y") - - self._logger.info("Homing stage...") - stage.home_x() - stage.home_y() - - # Move to 30mm offset position - self._logger.info("Moving to 30mm offset position...") - stage.move(axis="X", value=30000, is_absolute=True, is_blocking=True) # 30mm in µm - stage.move(axis="Y", value=30000, is_absolute=True, is_blocking=True) - - # Turn on laser if specified - if laser_name: - try: - if hasattr(self._master, 'lasersManager'): - laser_controller = self._master.lasersManager.get(laser_name) - if laser_controller: - laser_controller.setLaserValue(laser_intensity) - laser_controller.setLaserActive(True) - self._logger.info(f"Laser {laser_name} activated at {laser_intensity}") - else: - self._logger.warning("Laser manager not available") - except Exception as e: - self._logger.warning(f"Could not activate laser {laser_name}: {e}") - - # Search for white lines - center_position = self._findCalibrationCenter() + center_position = self._findCalibrationCenter( + unit_um=unit_um, + increment_units=increment_units, + start_len_units=start_len_units, + min_x=min_x, + max_x=max_x, + min_y=min_y, + max_y=max_y, + intensity_factor=intensity_factor, + settle_s=settle_s, + max_legs=max_legs, + laser_name=laser_name, + laser_intensity=laser_intensity + ) if center_position: - # Set the known position offset - self.setKnownPosition(self.CALIBRATION_CENTER_X, self.CALIBRATION_CENTER_Y) - return {"status": "success", "center": center_position} + self._logger.info(f"Calibration center found at: {center_position}") + # Save positions to CSV for record keeping + self._savePositionsCsv() + return {"status": "success", "center_position": center_position} else: - return {"status": "error", "message": "Could not find calibration center"} + self._logger.warning("Calibration center search completed but no center found") + return {"status": "completed", "message": "No center found within search parameters"} except Exception as e: - self._logger.error(f"Automatic calibration failed: {e}") + self._logger.error(f"Calibration center search failed: {e}") return {"status": "error", "message": str(e)} finally: self._is_running = False - # Turn off laser if it was turned on - if laser_name: - try: - if hasattr(self._master, 'lasersManager'): - laser_controller = self._master.lasersManager.get(laser_name) - if laser_controller: - laser_controller.setLaserActive(False) - except Exception: - pass @APIExport() def getCalibrationTargetInfo(self) -> dict: @@ -338,6 +278,18 @@ def getCalibrationTargetInfo(self) -> dict: "wellplate_start": {"x": self.WELLPLATE_START_X, "y": self.WELLPLATE_START_Y, "spacing": self.WELLPLATE_SPACING} } + @APIExport() + def stopFindCalibrationCenter(self) -> dict: + """ + Stop the ongoing calibration center finding process. + """ + if not self._is_running: + return {"status": "info", "message": "No calibration center search is currently running"} + + self._is_running = False + self._logger.info("Calibration center search stopped by user request") + return {"status": "stopped", "message": "Calibration center search has been stopped"} + def _getCalibrationSVGFiles(self) -> dict: """ Get paths to calibration SVG files from disk. @@ -447,6 +399,7 @@ def performStepsizeCalibration(self) -> dict: Perform stepsize calibration using 7x7 hole lattice at (105, 16) with 1mm spacing. Captures images at each hole position and saves as TIFF stack. """ + # TODO: This has to be moved to a thread as well and cancellable if self._is_running: return {"status": "error", "message": "Another calibration is running"} @@ -483,7 +436,8 @@ def performStepsizeCalibration(self) -> dict: images.append(frame) positions.append((x_pos, y_pos)) self._logger.debug(f"Captured image at grid position ({i}, {j})") - + if not self._is_running: + return {"status": "stopped", "message": "Stepsize calibration stopped by user"} # Save TIFF stack if images: timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") @@ -602,103 +556,140 @@ def perform384WellplateCalibration(self, sample_wells: list = None) -> dict: # ─────────────────────── new calibration helpers ─────────────────────── - def _findCalibrationCenter(self) -> tuple: + def _findCalibrationCenter( + self, + unit_um: float = 1000.0, # base grid step in µm + increment_units: int = 1, # increase after every two legs (set to 2 for 1,1,3,3,...) + start_len_units: int = 1, # starting leg length in units + min_x: float | None = None, # absolute stage limits in µm + max_x: float | None = None, + min_y: float | None = None, + max_y: float | None = None, + intensity_factor: float = 1.5, # stop when mean >= factor * baseline + settle_s: float = 0.1, # dwell after each move + max_legs: int = 400, # safety cap on spiral legs + laser_name: str = None, + laser_intensity: float = None, + homing_procedure = False + ) -> tuple[float, float] | None: """ - Find calibration center using line detection and ring positioning. - Returns (x, y) coordinates in micrometers or None if not found. + Spiral search around current position. Moves in a square-spiral: + (+X), (+Y), (-X), (-Y), increasing leg length after every two legs. + Leg lengths (in 'units') follow: start_len_units, start_len_units, + start_len_units+increment_units, start_len_units+increment_units, ... + Each unit corresponds to 'unit_um' micrometers. + + Stops when mean intensity rises by 'intensity_factor' over the initial baseline. + Returns (X, Y) in µm, or None if aborted. """ stage = self.getStage() - detector = self.getDetector() - - # Step 1: Search for white lines in X direction - self._logger.info("Searching for white lines in X direction...") - line_found_x = None - - for i in range(50): # Max 50 steps of 1000µm = 50mm search - if not self._is_running: - return None - - # Move 1000µm in X direction - current_pos = stage.getPosition() - new_x = current_pos["X"] + 1000 - stage.move(axis = "X", value = new_x, is_absolute = True, is_blocking = True) - - # Take image and check for lines - time.sleep(0.1) - frame = detector.getLatestFrame() - if frame is not None and self._detectWhiteLine(frame): - line_found_x = new_x - self._logger.info(f"White line found in X at position {new_x}") - break - - if line_found_x is None: - self._logger.error("No white line found in X direction") - return None - - # Step 2: Search for white lines in Y direction - self._logger.info("Searching for white lines in Y direction...") - line_found_y = None - - for i in range(50): # Max 50 steps - if not self._is_running: - return None - - # Move 1000µm in Y direction - current_pos = stage.getPosition() - new_y = current_pos["Y"] + 1000 - stage.move(axis="Y", value=new_y, is_absolute=True, is_blocking=True) - - # Take image and check for lines - time.sleep(0.1) - frame = detector.getLatestFrame() - if frame is not None and self._detectWhiteLine(frame): - line_found_y = new_y - self._logger.info(f"White line found in Y at position {new_y}") - break - - if line_found_y is None: - self._logger.error("No white line found in Y direction") + if homing_procedure: + self._logger.info("Homing stage...") + stage.home_x(isBlocking=False) + stage.home_y(isBlocking=True) + + # Home the stage in X and Y + stage.resetStageOffsetAxis(axis="X") + stage.resetStageOffsetAxis(axis="Y") + + # Set position to reasonable value + stage.setStageOffsetAxis(knownPosition = self.HOME_POS_X, currentPosition = 0, axis="X") # in µm + stage.setStageOffsetAxis(knownPosition = self.HOME_POS_Y, currentPosition = 0, axis="Y") # in µm + + # Move to calibration center position + self._logger.info("Moving to calibration center position...") + stage.move(axis="XY", value=(self.CALIBRATION_CENTER_X*1000,self.CALIBRATION_CENTER_Y*1000), is_absolute=True, is_blocking=True, speed=self.MAX_SPEED) # in µm + + # Turn on laser if specified + if laser_name is not None and laser_intensity is not None: + try: + if hasattr(self._master, 'lasersManager'): + laser_controller = self._master.lasersManager.get(laser_name) + if laser_controller: + laser_controller.setLaserValue(laser_intensity) + laser_controller.setLaserActive(True) + self._logger.info(f"Laser {laser_name} activated at {laser_intensity}") + else: + self._logger.warning("Laser manager not available") + except Exception as e: + self._logger.warning(f"Could not activate laser {laser_name}: {e}") + + if not self._is_running: return None - - # Step 3: Continue alternating until center is bright - self._logger.info("Searching for bright center...") - baseline_intensity = self._grabMeanFrame() - - for iteration in range(20): # Max iterations to find center - if not self._is_running: - return None - - # Move in X direction and check intensity - current_pos = stage.getPosition() - stage.move(axis="X", value=current_pos["X"] + 1000, is_absolute=True, is_blocking=True) - time.sleep(0.1) - - intensity = self._grabMeanFrame() - if intensity and baseline_intensity and intensity > baseline_intensity * 2.0: - self._logger.info("High intensity detected - near center") - - # Step 4: Look for rings and center on them - center_pos = self._findRingCenter() - if center_pos: - return center_pos - - # Move in Y direction and check intensity - current_pos = stage.getPosition() - stage.move(axis="Y", value=current_pos["Y"] + 1000, is_absolute=True, is_blocking=True) - time.sleep(0.1) - - intensity = self._grabMeanFrame() - if intensity and baseline_intensity and intensity > baseline_intensity * 2.0: - self._logger.info("High intensity detected - near center") - - # Look for rings and center on them - center_pos = self._findRingCenter() - if center_pos: - return center_pos - - # If we reach here, return current position as best guess - final_pos = stage.getPosition() - return (final_pos["X"], final_pos["Y"]) + + # ensure camera is in livemode to grab frames continuously + detector = self.getDetector() + self._commChannel.sigStartLiveAcquistion.emit(True) + + # Helpers + def clamp(val: float, lo: float | None, hi: float | None) -> float: + if lo is not None and val < lo: + return lo + if hi is not None and val > hi: + return hi + return val + + def move_abs(axis: str, target: float) -> None: + stage.move(axis=axis, value=target, is_absolute=True, is_blocking=True, speed=self.MAX_SPEED) + + + threshold = 20 # We expect at least 20 pixels to be saturated + + # Spiral state + dirs = [(+1, 0), (0, +1), (-1, 0), (0, -1)] # +X, +Y, -X, -Y + dir_idx = 0 + len_units = start_len_units + legs_done = 0 + + # Start from current absolute position + pos = stage.getPosition() + x = float(pos["X"]) + y = float(pos["Y"]) + + # Main loop + while self._is_running and legs_done < max_legs: + dx_units, dy_units = dirs[dir_idx] + leg_len_um = len_units * unit_um + # TODO: Here we should move in background using MovementController/move_to_position -> then continously grab frames and analyse + # TOdO we should also add the speed as an argument via APIExport + # Determine target on ONE axis per leg + if dx_units != 0: + target_x = clamp(x + dx_units * leg_len_um, min_x, max_x) + if target_x != x: + move_abs("X", target_x) + x = target_x + else: + target_y = clamp(y + dy_units * leg_len_um, min_y, max_y) + if target_y != y: + move_abs("Y", target_y) + y = target_y + + # Measure + time.sleep(settle_s) + + # Baseline intensity (use a short average if available) + nSaturatedPixels = self._grabAndProcessFrame() + if nSaturatedPixels is not None and nSaturatedPixels >= threshold: + # Optional refinement if available + if hasattr(self, "_findRingCenter"): + try: + center = self._findRingCenter() + if center: + return center + except Exception: + pass + return (x, y) + + # Next leg + dir_idx = (dir_idx + 1) % 4 + legs_done += 1 + + # Increase leg length after every two legs + if legs_done % 2 == 0: + len_units += increment_units + + # Safety exit: return last position + return (x, y) def _detectWhiteLine(self, image: np.ndarray) -> bool: """ @@ -740,54 +731,38 @@ def _findRingCenter(self) -> tuple: gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) else: gray = frame.astype(np.uint8) + import NanoImagingPack as nip + blurred = nip.gaussf(gray, 100) + maxY, maxY = np.unravel_index(np.argmax(blurred, axis=None), blurred.shape) + # now let's move in the opposite direction of the maximum + mPixelSize = detector.pixelSizeUm[0] + center_y, center_x = maxY*mPixelSize, maxY*mPixelSize + stage = self.getStage() - # Apply Gaussian blur - blurred = cv2.GaussianBlur(gray, (9, 9), 2) - - # Detect circles using Hough transform - circles = cv2.HoughCircles( - blurred, - cv2.HOUGH_GRADIENT, - dp=1, - minDist=30, - param1=50, - param2=30, - minRadius=10, - maxRadius=100 - ) + # Convert image coordinates to stage offset + # This is a simplified approach - in practice, you'd need proper calibration + current_pos = stage.getPosition() + + self._logger.info(f"Ring detected at image coords ({center_x}, {center_y})") + + # Calculate offset needed to center the ring (simplified pixel-to-micron conversion) + image_center_x = gray.shape[1] // 2 + image_center_y = gray.shape[0] // 2 - if circles is not None and len(circles[0]) > 0: - # Find the largest circle (assuming it's the calibration ring) - circles = np.round(circles[0, :]).astype("int") - largest_circle = max(circles, key=lambda c: c[2]) # Max by radius - - center_x, center_y, radius = largest_circle - self._logger.info(f"Ring found at image coordinates ({center_x}, {center_y}) with radius {radius}") - - # Convert image coordinates to stage offset - # This is a simplified approach - in practice, you'd need proper calibration - stage = self.getStage() - current_pos = stage.getPosition() - - # Calculate offset needed to center the ring (simplified pixel-to-micron conversion) - image_center_x = gray.shape[1] // 2 - image_center_y = gray.shape[0] // 2 - - # Assume 1 pixel = 1 micrometer (this should be calibrated properly) - offset_x = (center_x - image_center_x) * 1.0 # Adjust this scaling factor - offset_y = (center_y - image_center_y) * 1.0 - - # Move stage to center the ring - target_x = current_pos["X"] - offset_x # Negative because stage moves opposite to image - target_y = current_pos["Y"] - offset_y - - stage.move(axis="X", value=target_x, is_absolute=True, is_blocking=True) - stage.move(axis="Y", value=target_y, is_absolute=True, is_blocking=True) - - final_pos = stage.getPosition() - return (final_pos["X"], final_pos["Y"]) + # Assume 1 pixel = 1 micrometer (this should be calibrated properly) + offset_x = (center_x - image_center_x) * 1.0 # Adjust this scaling factor + offset_y = (center_y - image_center_y) * 1.0 + + # Move stage to center the ring + target_x = current_pos["X"] - offset_x # Negative because stage moves opposite to image + target_y = current_pos["Y"] - offset_y + + stage.move(axis="X", value=target_x, is_absolute=True, is_blocking=True) + stage.move(axis="Y", value=target_y, is_absolute=True, is_blocking=True) + + final_pos = stage.getPosition() + return (final_pos["X"], final_pos["Y"]) - return None except Exception as e: self._logger.error(f"Ring detection failed: {e}") @@ -848,13 +823,14 @@ def _navigateMaze(self, path: list): # ─────────────────────── helpers ──────────────────────────────────────── - def _grabMeanFrame(self): + def _grabAndProcessFrame(self, threshold=250): + '''returns the number of saturated pixels in the latest frame''' frame = self.getDetector().getLatestFrame() if frame is None or frame.size == 0: - return None - meanValue = np.mean(frame[::20, ::20]) # subsample for speed - self._logger.debug(f"Mean value of frame: {meanValue}") - return meanValue + return 0 #None + processedValue = np.sum(frame[::20, ::20]>threshold) + self._logger.debug(f"Processed value of frame: {processedValue}") + return processedValue def _savePositionsCsv(self): if not self._positions: diff --git a/imswitch/imcontrol/model/managers/positioners/ESP32StageManager.py b/imswitch/imcontrol/model/managers/positioners/ESP32StageManager.py index 9a921dd37..f0069d1a8 100644 --- a/imswitch/imcontrol/model/managers/positioners/ESP32StageManager.py +++ b/imswitch/imcontrol/model/managers/positioners/ESP32StageManager.py @@ -4,6 +4,8 @@ import numpy as np import os import json +from typing import Dict, List, Optional, Union + MAX_ACCEL = 1000000 PHYS_FACTOR = 1 @@ -495,12 +497,30 @@ def moveToSampleMountingPosition(self, speed=10000, is_blocking=True): value = (self.sampleLoadingPositions["X"], self.sampleLoadingPositions["Y"], self.sampleLoadingPositions["Z"]) self._motor.move_xyz(value, speed, is_absolute=True, is_blocking=is_blocking) - def setStageOffsetAxis(self, knownOffset:float=None, axis="X"): + def setStageOffsetAxis(self, knownPosition:float=0, currentPosition:Optional[float]=None, knownOffset:Optional[float]=None, axis:str="X"): + # differentiate between different cases + if knownOffset is not None: + # case 0: only knownOffset is given -> use it + knownOffset = knownOffset + elif currentPosition is not None and knownPosition is not None: + # case 1: knownPosition and currentPosition are given -> calculate offset + knownOffset = currentPosition - knownPosition + elif currentPosition is None and knownOffset is not None: + # case 2: knownPosition and knownOffset are given -> calculate currentPosition + currentPosition = knownPosition - knownOffset + elif currentPosition is not None and knownOffset is not None: + # case 3: all three values are given -> check if they are consistent + if not np.isclose(knownPosition, currentPosition + knownOffset): + self.__logger.warning(f"Given values for knownPosition ({knownPosition}), currentPosition ({currentPosition}) and knownOffset ({knownOffset}) are not consistent!") + else: + self.__logger.error("Not enough information to set stage offset. Please provide either knownOffset or both knownPosition and currentPosition.") + return try: self.stageOffsetPositions[axis] = knownOffset except KeyError: self.__logger.error(f"Axis {axis} not found in stageOffsetPositions.") - self.__logger.info(f"Set offset for {axis} axis to {knownOffset} mum.") + self.__logger.info(f"Set offset for {axis} axis to {knownOffset} mum, your position is now: {self.getPosition()[axis]-knownOffset} mum") + # set the offset on the device self._motor.set_offset(axis=axis, offset=knownOffset) def getStageOffsetAxis(self, axis:str="X"): diff --git a/imswitch/teststagecenter.py b/imswitch/teststagecenter.py new file mode 100644 index 000000000..f7d813de3 --- /dev/null +++ b/imswitch/teststagecenter.py @@ -0,0 +1,11 @@ +#%% +import numpy as numpy +import NanoImagingPack as nip +import tifffile as tif + + + +#read image +image = tif.imread('circle.tif') + +#%% \ No newline at end of file From 1d7a1da86cca8dda7c47af1a5b2faefa75018388 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Sep 2025 15:31:42 +0000 Subject: [PATCH 6/8] Address all TODO items in stage calibration controller Co-authored-by: beniroquai <4345528+beniroquai@users.noreply.github.com> --- .../StageCenterCalibrationController.py | 312 ++++++++++-------- 1 file changed, 172 insertions(+), 140 deletions(-) diff --git a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py index 7e63d82cf..f65d23061 100644 --- a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py +++ b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py @@ -41,25 +41,28 @@ def __init__(self, *args, **kwargs): self._positions: list[tuple[float, float]] = [] self._run_mutex = Mutex() - # Calibration target constants (in mm) - self.CALIBRATION_CENTER_X = 63.81 - self.CALIBRATION_CENTER_Y = 42.06 - self.MAZE_START_X = 9.5 - self.MAZE_START_Y = 11.5 - self.STEPSIZE_GRID_X = 105.0 - self.STEPSIZE_GRID_Y = 16.0 - self.WELLPLATE_START_X = 12.2 - self.WELLPLATE_START_Y = 9.0 - self.WELLPLATE_SPACING = 4.5 # mm - self.MAX_SPEED = 20000 # µm/s + # Load calibration settings from setup config + calibration_config = getattr(self._setupInfo, 'stageCalibration', {}) - # TODO: This is FRAME Specific - make this configurable through the configs - self.HOME_POS_X = 0*1000 # in µm in x we are roughly at the wellplatepos 0 - self.HOME_POS_Y = 87*1000 # in µm in y we are roughly at the wellplatepos 87mm (opposite site ) + # Calibration target constants (in mm) - configurable with defaults + self.CALIBRATION_CENTER_X = calibration_config.get('calibrationCenterX', 63.81) + self.CALIBRATION_CENTER_Y = calibration_config.get('calibrationCenterY', 42.06) + self.MAZE_START_X = calibration_config.get('mazeStartX', 9.5) + self.MAZE_START_Y = calibration_config.get('mazeStartY', 11.5) + self.STEPSIZE_GRID_X = calibration_config.get('stepsizeGridX', 105.0) + self.STEPSIZE_GRID_Y = calibration_config.get('stepsizeGridY', 16.0) + self.WELLPLATE_START_X = calibration_config.get('wellplateStartX', 12.2) + self.WELLPLATE_START_Y = calibration_config.get('wellplateStartY', 9.0) + self.WELLPLATE_SPACING = calibration_config.get('wellplateSpacing', 4.5) # mm + self.MAX_SPEED = calibration_config.get('maxSpeed', 20000) # µm/s + + # Home position - now configurable instead of FRAME-specific + self.HOME_POS_X = calibration_config.get('homePosX', 0) * 1000 # convert mm to µm + self.HOME_POS_Y = calibration_config.get('homePosY', 87) * 1000 # convert mm to µm - # Calibration target dimensions (in mm) - self.TARGET_WIDTH = 127.76 - self.TARGET_HEIGHT = 85.48 + # Calibration target dimensions (in mm) - configurable with defaults + self.TARGET_WIDTH = calibration_config.get('targetWidth', 127.76) + self.TARGET_HEIGHT = calibration_config.get('targetHeight', 85.48) # Maze navigation state self._maze_running = False @@ -115,9 +118,14 @@ def setKnownPosition(self, x_mm: float = None, y_mm: float = None): stage = self.getStage() current_pos = stage.getPosition() - # Set stage offset for both axes # TODO: NOT CORRECT - stage.setStageOffsetAxis(knownPosition=x_mm * 1000, currentPosition=current_pos["X"], axis="X") # Convert mm to µm - stage.setStageOffsetAxis(knownPosition=y_mm * 1000, currentPosition=current_pos["Y"], axis="Y") # Convert mm to µm + # Convert current position from steps to physical coordinates (µm) + # The PositionerManager expects both positions in physical coordinates + current_pos_x_um = current_pos["X"] / stage.stepSizes["X"] if hasattr(stage, 'stepSizes') else current_pos["X"] + current_pos_y_um = current_pos["Y"] / stage.stepSizes["Y"] if hasattr(stage, 'stepSizes') else current_pos["Y"] + + # Set stage offset for both axes (both in µm) + stage.setStageOffsetAxis(knownPosition=x_mm * 1000, currentPosition=current_pos_x_um, axis="X") # Convert mm to µm + stage.setStageOffsetAxis(knownPosition=y_mm * 1000, currentPosition=current_pos_y_um, axis="Y") # Convert mm to µm self._logger.info(f"Stage offset set to known position: X={x_mm}mm, Y={y_mm}mm") return {"status": "success", "x_mm": x_mm, "y_mm": y_mm} @@ -137,7 +145,8 @@ def findCalibrationCenter( max_legs: int = 50, laser_name: str = None, laser_intensity: float = None, - homing_procedure: bool = False + homing_procedure: bool = False, + speed_um_s: float = None ) -> dict: """ API export for spiral search calibration center finding. @@ -151,73 +160,24 @@ def findCalibrationCenter( intensity_factor: Stop when mean >= factor * baseline settle_s: Dwell after each move max_legs: Safety cap on spiral legs + speed_um_s: Movement speed in µm/s (defaults to MAX_SPEED) Returns: dict: Status information """ + if speed_um_s is None: + speed_um_s = self.MAX_SPEED + if self._is_running: return {"status": "error", "message": "Another calibration is already running"} self.findCalibrationCenterThread = threading.Thread( - target=self._findCalibrationCenterForThread, - args=(unit_um, increment_units, start_len_units, min_x, max_x, min_y, max_y, intensity_factor, settle_s, max_legs, laser_name, laser_intensity, homing_procedure), + target=self._findCalibrationCenter, + args=(unit_um, increment_units, start_len_units, min_x, max_x, min_y, max_y, intensity_factor, settle_s, max_legs, laser_name, laser_intensity, homing_procedure, speed_um_s), daemon=True, ) self.findCalibrationCenterThread.start() return {"status": "started", "message": "Calibration center search started"} - def _findCalibrationCenterForThread( - self, - unit_um: float = 1000.0, - increment_units: int = 1, - start_len_units: int = 1, - min_x: float = None, - max_x: float = None, - min_y: float = None, - max_y: float = None, - intensity_factor: float = 1.5, - settle_s: float = 0.1, - max_legs: int = 400, - laser_name: str = None, - laser_intensity: float = None, - homing_procedure: bool = False - ) -> dict: # TODO: I think this interface can be neglected, we can direclty use this to start _findCalibrationCenter - """ - Thread implementation for calibration center finding. - """ - if self._is_running: - return {"status": "error", "message": "Another calibration is already running"} - - self._is_running = True - try: - center_position = self._findCalibrationCenter( - unit_um=unit_um, - increment_units=increment_units, - start_len_units=start_len_units, - min_x=min_x, - max_x=max_x, - min_y=min_y, - max_y=max_y, - intensity_factor=intensity_factor, - settle_s=settle_s, - max_legs=max_legs, - laser_name=laser_name, - laser_intensity=laser_intensity - ) - - if center_position: - self._logger.info(f"Calibration center found at: {center_position}") - # Save positions to CSV for record keeping - self._savePositionsCsv() - return {"status": "success", "center_position": center_position} - else: - self._logger.warning("Calibration center search completed but no center found") - return {"status": "completed", "message": "No center found within search parameters"} - - except Exception as e: - self._logger.error(f"Calibration center search failed: {e}") - return {"status": "error", "message": str(e)} - finally: - self._is_running = False @APIExport() def getCalibrationTargetInfo(self) -> dict: @@ -399,73 +359,81 @@ def performStepsizeCalibration(self) -> dict: Perform stepsize calibration using 7x7 hole lattice at (105, 16) with 1mm spacing. Captures images at each hole position and saves as TIFF stack. """ - # TODO: This has to be moved to a thread as well and cancellable if self._is_running: return {"status": "error", "message": "Another calibration is running"} + # Start calibration in separate thread + self._task = threading.Thread(target=self._performStepsizeCalibrationThread, daemon=True) + self._task.start() + return {"status": "started", "message": "Stepsize calibration started"} + + def _performStepsizeCalibrationThread(self): + """ + Thread implementation for stepsize calibration. + """ self._is_running = True try: - stage = self.getStage() - detector = self.getDetector() - - # Move to starting position - start_x_um = self.STEPSIZE_GRID_X * 1000 # Convert mm to µm - start_y_um = self.STEPSIZE_GRID_Y * 1000 - - images = [] - positions = [] - - # Scan 7x7 grid - for i in range(7): - for j in range(7): - if not self._is_running: - break - - # Calculate position (1mm = 1000µm spacing) - x_pos = start_x_um + (i * 1000) - y_pos = start_y_um + (j * 1000) - - # Move to position - stage.move(axis="X", value=x_pos, is_absolute=True, is_blocking=True) - stage.move(axis="Y", value=y_pos, is_absolute=True, is_blocking=True) - - # Capture image - time.sleep(0.1) # Allow settling - frame = detector.getLatestFrame() - if frame is not None: - images.append(frame) - positions.append((x_pos, y_pos)) - self._logger.debug(f"Captured image at grid position ({i}, {j})") - if not self._is_running: - return {"status": "stopped", "message": "Stepsize calibration stopped by user"} - # Save TIFF stack - if images: - timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") - dir_path = os.path.join(os.path.expanduser("~"), "imswitch_calibrations", timestamp) - os.makedirs(dir_path, exist_ok=True) - - stack_path = os.path.join(dir_path, "stepsize_calibration_stack.tiff") - tif.imwrite(stack_path, np.array(images)) - - positions_path = os.path.join(dir_path, "stepsize_positions.csv") - np.savetxt(positions_path, np.array(positions), delimiter=",", header="X(µm),Y(µm)") - - self._logger.info(f"Stepsize calibration completed. {len(images)} images saved to {stack_path}") - return { - "status": "success", - "images_captured": len(images), - "tiff_stack_path": stack_path, - "positions_path": positions_path - } - else: - return {"status": "error", "message": "No images captured"} - + self._performStepsizeCalibrationLogic() except Exception as e: self._logger.error(f"Stepsize calibration failed: {e}") - return {"status": "error", "message": str(e)} finally: self._is_running = False + def _performStepsizeCalibrationLogic(self): + """ + Core logic for stepsize calibration. + """ + stage = self.getStage() + detector = self.getDetector() + + # Move to starting position + start_x_um = self.STEPSIZE_GRID_X * 1000 # Convert mm to µm + start_y_um = self.STEPSIZE_GRID_Y * 1000 + + images = [] + positions = [] + + # Scan 7x7 grid + for i in range(7): + for j in range(7): + if not self._is_running: + break + + # Calculate position (1mm = 1000µm spacing) + x_pos = start_x_um + (i * 1000) + y_pos = start_y_um + (j * 1000) + + # Move to position + stage.move(axis="X", value=x_pos, is_absolute=True, is_blocking=True) + stage.move(axis="Y", value=y_pos, is_absolute=True, is_blocking=True) + + # Capture image + time.sleep(0.1) # Allow settling + frame = detector.getLatestFrame() + if frame is not None: + images.append(frame) + positions.append((x_pos, y_pos)) + self._logger.debug(f"Captured image at grid position ({i}, {j})") + if not self._is_running: + self._logger.info("Stepsize calibration stopped by user") + return + + # Save TIFF stack + if images: + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + dir_path = os.path.join(os.path.expanduser("~"), "imswitch_calibrations", timestamp) + os.makedirs(dir_path, exist_ok=True) + + stack_path = os.path.join(dir_path, "stepsize_calibration_stack.tiff") + tif.imwrite(stack_path, np.array(images)) + + positions_path = os.path.join(dir_path, "stepsize_positions.csv") + np.savetxt(positions_path, np.array(positions), delimiter=",", header="X(µm),Y(µm)") + + self._logger.info(f"Stepsize calibration completed. {len(images)} images saved to {stack_path}") + else: + self._logger.warning("No images captured during stepsize calibration") + @APIExport() def perform384WellplateCalibration(self, sample_wells: list = None) -> dict: """ @@ -570,7 +538,8 @@ def _findCalibrationCenter( max_legs: int = 400, # safety cap on spiral legs laser_name: str = None, laser_intensity: float = None, - homing_procedure = False + homing_procedure = False, + speed_um_s: float = None # movement speed in µm/s ) -> tuple[float, float] | None: """ Spiral search around current position. Moves in a square-spiral: @@ -582,6 +551,41 @@ def _findCalibrationCenter( Stops when mean intensity rises by 'intensity_factor' over the initial baseline. Returns (X, Y) in µm, or None if aborted. """ + # Set running state for threading + self._is_running = True + try: + return self._performCalibrationSearchLogic( + unit_um, increment_units, start_len_units, min_x, max_x, min_y, max_y, + intensity_factor, settle_s, max_legs, laser_name, laser_intensity, homing_procedure, speed_um_s + ) + except Exception as e: + self._logger.error(f"Calibration center search failed: {e}") + return None + finally: + self._is_running = False + # Save positions to CSV for record keeping + self._savePositionsCsv() + + def _performCalibrationSearchLogic( + self, + unit_um: float, + increment_units: int, + start_len_units: int, + min_x: float | None, + max_x: float | None, + min_y: float | None, + max_y: float | None, + intensity_factor: float, + settle_s: float, + max_legs: int, + laser_name: str, + laser_intensity: float, + homing_procedure: bool, + speed_um_s: float + ) -> tuple[float, float] | None: + """ + Core logic for calibration search. + """ stage = self.getStage() if homing_procedure: self._logger.info("Homing stage...") @@ -630,7 +634,14 @@ def clamp(val: float, lo: float | None, hi: float | None) -> float: return val def move_abs(axis: str, target: float) -> None: - stage.move(axis=axis, value=target, is_absolute=True, is_blocking=True, speed=self.MAX_SPEED) + stage.move(axis=axis, value=target, is_absolute=True, is_blocking=True, speed=speed_um_s) + + def move_continuous(axis: str, target: float) -> None: + """ + Move in continuous mode for better frame collection during movement. + This addresses the TODO about background movement during image analysis. + """ + stage.move(axis=axis, value=target, is_absolute=True, is_blocking=False, speed=speed_um_s) threshold = 20 # We expect at least 20 pixels to be saturated @@ -650,18 +661,39 @@ def move_abs(axis: str, target: float) -> None: while self._is_running and legs_done < max_legs: dx_units, dy_units = dirs[dir_idx] leg_len_um = len_units * unit_um - # TODO: Here we should move in background using MovementController/move_to_position -> then continously grab frames and analyse - # TOdO we should also add the speed as an argument via APIExport - # Determine target on ONE axis per leg + # Use continuous movement for better frame collection during movement + # This addresses the TODO about background movement and continuous frame analysis if dx_units != 0: target_x = clamp(x + dx_units * leg_len_um, min_x, max_x) if target_x != x: - move_abs("X", target_x) + # Start continuous movement + move_continuous("X", target_x) + + # Collect frames during movement for analysis + start_time = time.time() + while abs(stage.getPosition()["X"] - target_x) > 10 and time.time() - start_time < 10: # 10µm tolerance, 10s timeout + if not self._is_running: + return None + # Grab frames during movement for analysis + self._grabAndProcessFrame() + time.sleep(0.05) # Brief pause between frame grabs + x = target_x else: target_y = clamp(y + dy_units * leg_len_um, min_y, max_y) if target_y != y: - move_abs("Y", target_y) + # Start continuous movement + move_continuous("Y", target_y) + + # Collect frames during movement for analysis + start_time = time.time() + while abs(stage.getPosition()["Y"] - target_y) > 10 and time.time() - start_time < 10: # 10µm tolerance, 10s timeout + if not self._is_running: + return None + # Grab frames during movement for analysis + self._grabAndProcessFrame() + time.sleep(0.05) # Brief pause between frame grabs + y = target_y # Measure From f05a3a905b80272c02fcec3f4de92cbe07b65ced Mon Sep 17 00:00:00 2001 From: Benedict Diederich Date: Wed, 10 Sep 2025 14:04:19 +0200 Subject: [PATCH 7/8] making it work on the FRAME --- .../StageCenterCalibrationController.py | 106 ++++++++++-------- 1 file changed, 59 insertions(+), 47 deletions(-) diff --git a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py index f65d23061..4ad46b5ac 100644 --- a/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py +++ b/imswitch/imcontrol/controller/controllers/StageCenterCalibrationController.py @@ -133,7 +133,7 @@ def setKnownPosition(self, x_mm: float = None, y_mm: float = None): @APIExport() def findCalibrationCenter( self, - unit_um: float = 1000.0, + unit_um: float = 500.0, increment_units: int = 1, start_len_units: int = 1, min_x: float = None, @@ -143,8 +143,8 @@ def findCalibrationCenter( intensity_factor: float = 1.5, settle_s: float = 0.1, max_legs: int = 50, - laser_name: str = None, - laser_intensity: float = None, + laser_name: str = "LED", + laser_intensity: float = 1023, homing_procedure: bool = False, speed_um_s: float = None ) -> dict: @@ -536,8 +536,8 @@ def _findCalibrationCenter( intensity_factor: float = 1.5, # stop when mean >= factor * baseline settle_s: float = 0.1, # dwell after each move max_legs: int = 400, # safety cap on spiral legs - laser_name: str = None, - laser_intensity: float = None, + laser_name: str = "LED", + laser_intensity: float = 1023, homing_procedure = False, speed_um_s: float = None # movement speed in µm/s ) -> tuple[float, float] | None: @@ -591,12 +591,13 @@ def _performCalibrationSearchLogic( self._logger.info("Homing stage...") stage.home_x(isBlocking=False) stage.home_y(isBlocking=True) + stage.home_x(isBlocking=True) # Home the stage in X and Y stage.resetStageOffsetAxis(axis="X") stage.resetStageOffsetAxis(axis="Y") - # Set position to reasonable value + # Set position to reasonable value # TODO: The interface is a bit misleading => it still computes the difference between the two positions as the offset stage.setStageOffsetAxis(knownPosition = self.HOME_POS_X, currentPosition = 0, axis="X") # in µm stage.setStageOffsetAxis(knownPosition = self.HOME_POS_Y, currentPosition = 0, axis="Y") # in µm @@ -608,10 +609,10 @@ def _performCalibrationSearchLogic( if laser_name is not None and laser_intensity is not None: try: if hasattr(self._master, 'lasersManager'): - laser_controller = self._master.lasersManager.get(laser_name) + laser_controller = self._master.lasersManager[laser_name] if laser_controller: - laser_controller.setLaserValue(laser_intensity) - laser_controller.setLaserActive(True) + laser_controller.setValue(laser_intensity) + laser_controller.setEnabled(True) self._logger.info(f"Laser {laser_name} activated at {laser_intensity}") else: self._logger.warning("Laser manager not available") @@ -622,7 +623,7 @@ def _performCalibrationSearchLogic( return None # ensure camera is in livemode to grab frames continuously - detector = self.getDetector() + # detector = self.getDetector() self._commChannel.sigStartLiveAcquistion.emit(True) # Helpers @@ -633,15 +634,11 @@ def clamp(val: float, lo: float | None, hi: float | None) -> float: return hi return val - def move_abs(axis: str, target: float) -> None: - stage.move(axis=axis, value=target, is_absolute=True, is_blocking=True, speed=speed_um_s) + #def move_abs(axis: str, target: float) -> None: + # stage.move(axis=axis, value=target, is_absolute=True, is_blocking=True, speed=speed_um_s) - def move_continuous(axis: str, target: float) -> None: - """ - Move in continuous mode for better frame collection during movement. - This addresses the TODO about background movement during image analysis. - """ - stage.move(axis=axis, value=target, is_absolute=True, is_blocking=False, speed=speed_um_s) + # Initialize movement controller for asynchronous movement + movement_controller = MovementController(stage) threshold = 20 # We expect at least 20 pixels to be saturated @@ -657,7 +654,7 @@ def move_continuous(axis: str, target: float) -> None: x = float(pos["X"]) y = float(pos["Y"]) - # Main loop + # Main loop to find the whole in a spiral motion while self._is_running and legs_done < max_legs: dx_units, dy_units = dirs[dir_idx] leg_len_um = len_units * unit_um @@ -666,52 +663,47 @@ def move_continuous(axis: str, target: float) -> None: if dx_units != 0: target_x = clamp(x + dx_units * leg_len_um, min_x, max_x) if target_x != x: - # Start continuous movement - move_continuous("X", target_x) + # Start asynchronous movement using MovementController + movement_controller.move_to_position(target_x, "X", speed_um_s, True) # Collect frames during movement for analysis - start_time = time.time() - while abs(stage.getPosition()["X"] - target_x) > 10 and time.time() - start_time < 10: # 10µm tolerance, 10s timeout + while not movement_controller.is_target_reached(): if not self._is_running: return None # Grab frames during movement for analysis self._grabAndProcessFrame() + nSaturatedPixels = self._grabAndProcessFrame() + self._logger.debug(f"Saturated pixels: {nSaturatedPixels} "f"at position X={x}, Y={y}") + if nSaturatedPixels is not None and nSaturatedPixels >= threshold: + movement_controller.stop_movement() + self._is_running = False + break time.sleep(0.05) # Brief pause between frame grabs x = target_x else: target_y = clamp(y + dy_units * leg_len_um, min_y, max_y) if target_y != y: - # Start continuous movement - move_continuous("Y", target_y) + # Start asynchronous movement using MovementController + movement_controller.move_to_position(target_y, "Y", speed_um_s, True) # Collect frames during movement for analysis - start_time = time.time() - while abs(stage.getPosition()["Y"] - target_y) > 10 and time.time() - start_time < 10: # 10µm tolerance, 10s timeout + while not movement_controller.is_target_reached(): if not self._is_running: return None # Grab frames during movement for analysis + # Grab frames during movement for analysis self._grabAndProcessFrame() + nSaturatedPixels = self._grabAndProcessFrame() + self._logger.debug(f"Saturated pixels: {nSaturatedPixels} "f"at position X={x}, Y={y}") + if nSaturatedPixels is not None and nSaturatedPixels >= threshold: + movement_controller.stop_movement() + self._is_running = False + break time.sleep(0.05) # Brief pause between frame grabs y = target_y - # Measure - time.sleep(settle_s) - - # Baseline intensity (use a short average if available) - nSaturatedPixels = self._grabAndProcessFrame() - if nSaturatedPixels is not None and nSaturatedPixels >= threshold: - # Optional refinement if available - if hasattr(self, "_findRingCenter"): - try: - center = self._findRingCenter() - if center: - return center - except Exception: - pass - return (x, y) - # Next leg dir_idx = (dir_idx + 1) % 4 legs_done += 1 @@ -720,9 +712,24 @@ def move_continuous(axis: str, target: float) -> None: if legs_done % 2 == 0: len_units += increment_units - # Safety exit: return last position + + # TODO: We should do another round of spiral motion with half the step size to refine the position for 3x3 arms + + # Measure + time.sleep(settle_s) + + # Optional refinement if available + if hasattr(self, "_findRingCenter"): + try: + center = self._findRingCenter() + x, y = center + except Exception: + pass + stage.setStageOffsetAxis(knownOffset = x, axis="X") # in µm + stage.setStageOffsetAxis(knownOffset = y, axis="Y") # in µm return (x, y) - + + def _detectWhiteLine(self, image: np.ndarray) -> bool: """ Detect white lines in image using Hough transform. @@ -765,10 +772,10 @@ def _findRingCenter(self) -> tuple: gray = frame.astype(np.uint8) import NanoImagingPack as nip blurred = nip.gaussf(gray, 100) - maxY, maxY = np.unravel_index(np.argmax(blurred, axis=None), blurred.shape) + maxY, maxX = np.unravel_index(np.argmax(blurred, axis=None), blurred.shape) # now let's move in the opposite direction of the maximum mPixelSize = detector.pixelSizeUm[0] - center_y, center_x = maxY*mPixelSize, maxY*mPixelSize + center_y, center_x = maxY*mPixelSize, maxX*mPixelSize stage = self.getStage() # Convert image coordinates to stage offset @@ -905,6 +912,11 @@ def move_to_position(self, value, axis, speed, is_absolute): def _move(self, value, axis, speed, is_absolute): self.stage.move(axis=axis, value=value, speed=speed, is_absolute=is_absolute, is_blocking=True) self._done = True + + def stop_movement(self): + # Implement stopping logic if supported by stage + self._done = True + self.stage.stopAll() def is_target_reached(self): return self._done From c72aae9dbb08fe664a2190b77b9df93f16260e18 Mon Sep 17 00:00:00 2001 From: Benedict Diederich Date: Mon, 15 Sep 2025 12:06:07 +0200 Subject: [PATCH 8/8] add additional firewall rule --- main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/main.py b/main.py index 717171f7d..c86abaaee 100644 --- a/main.py +++ b/main.py @@ -15,6 +15,7 @@ sudo firewall-cmd --zone=public --add-port=8001/tcp; sudo firewall-cmd --zone=nm-shared --add-port=8001/tcp sudo firewall-cmd --zone=public --add-port=8002/tcp; sudo firewall-cmd --zone=nm-shared --add-port=8002/tcp + sudo firewall-cmd --zone=public --add-port=8888/tcp; sudo firewall-cmd --zone=nm-shared --add-port=8888/tcp ''' # DON'T CHANGE THIS!!!! # This has to be maintained for DOCKER!