Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

focus-map: (manual focus point grid) - specify z level at points, fit to 3d surface, interpolate for acquisition scan fovs #50

Merged
merged 2 commits into from
Jan 2, 2025

Conversation

sohamazing
Copy link
Contributor

@sohamazing sohamazing commented Dec 31, 2024

Workflow

  • click checkbox - "Focus Map" in in wellplate/flexibleMultiPointWidget
  • creates grid of focus points that we can navigate to and set the Z level
  • fits 3d surface from the focus points when we start acquisition
  • interpolates and updates z level for each fov of each region

FocusMapWidget:

  • in cameraTabWidget (can be moved to recordTabWidget)
  • add, remove, next, edit buttons
  • set grid size with spinbox for rows x cols
  • until sufficient # points set
    • select a focus point in dropdown menu to navigate to it
    • update z level of the current focus point

FocusMap:

  • handles the math for fitting 3d surface from a set of x,y,z points
  • need at least 4 points to fit surface
  • 'spline' or 'rbf' surface fitting methods
  • smoothing factor for surface fitting

NavigationViewer:

  • green dots for focus points
  • spans the scan bounds
    • fov coordinates and region bounds now centralized in ScanCoordinates

in wellplate/flexibleMultiPointWidget.toggle_acquisition()

  • fit surface (focusMapWidget.fit_surface)
  • set the fitted focus map in multipointController

multipointCOntroller.run_acquisition()

  • updates fovs of the scanCoordinates so that the acquisition adjusts to the correct z levels

todo:

  • add import/export focus point grid
  • way to lock in surface (do not refit anymore)
  • cache focus surface so that it does not reset after an acquisition
  • update z button (exists) and update x,y button (to add)
    • update the x,y location of the current focus point without typing in the coords
    • edit button can instead open csv with all focus points instead of just the current

@sohamazing sohamazing changed the title focus-surface integration focus-surface: focus point grid integration - specify z level at points, fit to 3d surface, interpolate for acquistion scan fovs Dec 31, 2024
@sohamazing sohamazing changed the title focus-surface: focus point grid integration - specify z level at points, fit to 3d surface, interpolate for acquistion scan fovs focus-map: focus point grid integration - specify z level at points, fit to 3d surface, interpolate for acquistion scan fovs Dec 31, 2024
@sohamazing sohamazing changed the title focus-map: focus point grid integration - specify z level at points, fit to 3d surface, interpolate for acquistion scan fovs focus-map: focus point grid integration - specify z level at points, fit to 3d surface, interpolate for acquisition scan fovs Dec 31, 2024
@sohamazing sohamazing marked this pull request as ready for review December 31, 2024 20:26
@sohamazing sohamazing changed the title focus-map: focus point grid integration - specify z level at points, fit to 3d surface, interpolate for acquisition scan fovs focus-map: (manual focus point grid) - specify z level at points, fit to 3d surface, interpolate for acquisition scan fovs Dec 31, 2024
@hongquanli hongquanli merged commit 1f8b3a4 into Cephla-Lab:master Jan 2, 2025
2 of 4 checks passed
beniroquai pushed a commit to beniroquai/octopi-research that referenced this pull request Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants