Skip to content

Commit

Permalink
fix fov updates to be from position signal instead offrom position af…
Browse files Browse the repository at this point in the history
…ter move signal

cleanup quotation format

better update_live_coordinates header
  • Loading branch information
soham1202 committed Jan 3, 2025
1 parent 8156e33 commit 5012514
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 13 deletions.
7 changes: 3 additions & 4 deletions software/control/core/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -3377,15 +3377,14 @@ def update_wellplate_settings(
self.update_display_properties(sample)
self.draw_current_fov(self.x_mm, self.y_mm)

def draw_fov_current_position(self, pos):
if pos.x_mm is None or pos.y_mm is None:
def draw_fov_current_position(self, pos: squid.abc.Pos):
if not pos:
if self.x_mm is None or self.y_mm is None:
return
self.draw_current_fov(self.x_mm, self.y_mm)
else:
self.draw_current_fov(pos.x_mm, pos.y_mm)
self.x_mm = pos.x_mm
self.y_mm = pos.y_mm
self.draw_current_fov(self.x_mm, self.y_mm)

def get_FOV_pixel_coordinates(self, x_mm, y_mm):
if self.sample == "glass slide":
Expand Down
26 changes: 19 additions & 7 deletions software/control/gui_hcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -850,7 +850,7 @@ def makeConnections(self):
self.objectivesWidget.signal_objective_changed.connect(self.flexibleMultiPointWidget.update_fov_positions)
# TODO(imo): Fix position updates after removal of navigation controller
self.movement_updater.position.connect(self.navigationViewer.draw_fov_current_position)
if WELLPLATE_FORMAT == 'glass slide':
if WELLPLATE_FORMAT == "glass slide":
# TODO(imo): This well place logic is duplicated below in onWellPlateChanged. We should change it to only exist in 1 location.
self.movement_updater.sent_after_stopped.connect(self.wellplateMultiPointWidget.set_live_scan_coordinates)
self.is_live_scan_grid_on = True
Expand Down Expand Up @@ -1207,14 +1207,26 @@ def setupSlidePositionController(self, is_for_wellplate):
self.navigationWidget.replace_slide_controller(self.slidePositionController)

def connectSlidePositionController(self):
self.slidePositionController.signal_slide_loading_position_reached.connect(self.navigationWidget.slot_slide_loading_position_reached)
self.slidePositionController.signal_slide_scanning_position_reached.connect(self.navigationWidget.slot_slide_scanning_position_reached)
self.slidePositionController.signal_slide_loading_position_reached.connect(
self.navigationWidget.slot_slide_loading_position_reached
)
self.slidePositionController.signal_slide_scanning_position_reached.connect(
self.navigationWidget.slot_slide_scanning_position_reached
)
if ENABLE_FLEXIBLE_MULTIPOINT:
self.slidePositionController.signal_slide_loading_position_reached.connect(self.flexibleMultiPointWidget.disable_the_start_aquisition_button)
self.slidePositionController.signal_slide_scanning_position_reached.connect(self.flexibleMultiPointWidget.enable_the_start_aquisition_button)
self.slidePositionController.signal_slide_loading_position_reached.connect(
self.flexibleMultiPointWidget.disable_the_start_aquisition_button
)
self.slidePositionController.signal_slide_scanning_position_reached.connect(
self.flexibleMultiPointWidget.enable_the_start_aquisition_button
)
if ENABLE_WELLPLATE_MULTIPOINT:
self.slidePositionController.signal_slide_loading_position_reached.connect(self.wellplateMultiPointWidget.disable_the_start_aquisition_button)
self.slidePositionController.signal_slide_scanning_position_reached.connect(self.wellplateMultiPointWidget.enable_the_start_aquisition_button)
self.slidePositionController.signal_slide_loading_position_reached.connect(
self.wellplateMultiPointWidget.disable_the_start_aquisition_button
)
self.slidePositionController.signal_slide_scanning_position_reached.connect(
self.wellplateMultiPointWidget.enable_the_start_aquisition_button
)
self.slidePositionController.signal_clear_slide.connect(self.navigationViewer.clear_slide)

def replaceWellSelectionWidget(self, new_widget):
Expand Down
4 changes: 2 additions & 2 deletions software/control/widgets.py
Original file line number Diff line number Diff line change
Expand Up @@ -3729,8 +3729,8 @@ def update_well_coordinates(self, selected):
elif self.scanCoordinates.has_regions():
self.scanCoordinates.clear_regions()

def update_live_coordinates(self, pos):
if hasattr(self.parent, 'recordTabWidget') and self.parent.recordTabWidget.currentWidget() != self:
def update_live_coordinates(self, pos: squid.abc.Pos):
if hasattr(self.parent, "recordTabWidget") and self.parent.recordTabWidget.currentWidget() != self:
return
scan_size_mm = self.entry_scan_size.value()
overlap_percent = self.entry_overlap.value()
Expand Down

0 comments on commit 5012514

Please sign in to comment.