Skip to content

Configuration wizard

romainbrette edited this page Jun 8, 2017 · 8 revisions

This is a GUI that configures the hardware and the coordinate systems. The configuration file contains everything including hardware specification and coordinate systems. Alternatively, we could have a single configuration file, with automatic backups.

The sequential procedure is as follows.

Hardware configuration

  1. User chooses the hardware model for the manipulators. Currently we have Luigs & Neumann SM-5, SM-10.
  2. User chooses COM port for the manipulators from a list.
  3. Program tests the COM port. A command is sent (eg position check). If not working, back to 1/2.
  4. User chooses hardware model for the microscope. Currently we have SM-10 (integrated to manipulator) and Leica.
  5. User chooses COM port for the microscope (Leica) from a list.
  6. Program tests the COM port for the microscope.
  7. User defines the configuration: number of XYZ manipulators, number of XY stages.
  8. Program moves each axis in turn, user assigns to manipulator or stage.

Hardware configuration could be skipped if already configured.

Calibration of a manipulator

  1. User selects objective in place (20x, 40x, etc). This could also be: immersed objective, objective in air.
  2. Without any electrode on the manipulator, the program determines the maximum and minimum values for motor coordinates on all axes.
  3. User puts an electrode (preferably patch electrode) on a manipulator, and puts the tip in focus on a red cross.
  4. Program determines manipulator by sending commands to all manipulators in turn.
  5. Program determines attached stages by sending commands to all stages in turn.
  6. Program determines the stage-to-camera matrix (including microscope Z) with movements along X and Y axes, plus compensatory movement of microscope Z.
  7. Program determines the manipulator-to-camera matrix with movements along XYZ axes plus compensatory movements of microscope and attached stage (if existent).

Objective calibration

Alternatively to one full calibration for each objective, we could have a simple matrix transformation to a reference objective (camera/Z to camera/Z). Objective calibration could be done as follows:

  1. User puts a coverslip in focus, possibly with a cross drawn on it. Focus could be automatized.
  2. A photo is taken.
  3. User changes the objective.
  4. Image is focused (automatic) and photo is taken.
  5. Program calculates affine transformation between the two images.

With this procedure, we have a hierarchical data structure:

  1. Hardware configuration is general.
  2. Objective calibration depends on hardware but not on manipulators.
  3. Manipulator calibration is relative to a main objective, and is changed relatively often (when the angle is changed).

Coverslip/chamber measurement

This is used to determine the bottom plane:

  1. User selects coverslip/chamber name.
  2. User focuses on 3 distant points on the coverslip.
  3. Program calculates coverslip plane.

(2) could be automated with an autofocus.