MOTOR CONTROLS Panel
3 dimensions (left); 4 dimensions (right)
- Overview
- Section A: Current Motor Position
- Section B: Image Stack Acquisition
- Section C: Storing/Loading Motor Positions
Unknown macro: {comment}
Overview
The Motor Controls panel pertains to the (optional) control of a stage/motor controller system supported by ScanImage. See the ScanImage Hardware Reference for information about the currently supported controllers/stages.
The Motor Controls panel only appears on ScanImage startup if
is enabled in the INI File. Other settings related to the MP-285 must also be properly configured in the INI File, including the correct specification of the COM port used to communicate with the MP-285 over an RS-232 (serial port) connection.
If a Secondary Z motor controller is activated in the INI File (
specified), and the primary motor controller is configured as
='XYZ', then the Motor Controls controls 4 dimensions in total (the XYZ-Z configuration), as shown at right above. In all other configurations, (XY, Z, XYZ, XY-Z), 3 dimensions are shown, as at left above (inactive dimensions, if any, are shown with value 0).
Section A: Current Motor Position
ScanImage vs Motor Relative
ScanImage has its own notion of relative positions, independent of the relative coordinates maintained by some motor controllers, such as the Sutter MP285. To make this distinction clear, the coordinate sets are referred to below as ScanImage Relative and Motor Relative.
- Unknown macro: {blue}: These controls play two roles –
- They display the most recent position read from the motor controller in each of the 3-4 axes.
- Entering a value for any of the axes commands the motor to move to the specified position for that axis. Following the move, the position will be read and updated for all three axes.
ScanImage always reads the Motor Absolute position from the motor. By default (at ScanImage startup), ScanImage displays and interprets positions in Motor Absolute coordinates. This remains true until (and only if) coordinates are converted to ScanImage Relative coordinates by pressing one of the
buttons.
- Unknown macro: {blue}: Forces ScanImage to read the current motor position in all three axes and to update the displayedUnknown macro: {blue}values, e.g. following manual adjustment of the motor position using the motor controller outside of ScanImage control.
- Unknown macro: {blue}: Read-only control that displays the squared-sum of the 3-4 displayedUnknown macro: {blue}values
This is most useful when using ScanImage Relative coordinates in all 3-4 axes, as it then indicates the distance from the ScanImage Relative origin.
- Unknown macro: {blue}: Pressing these buttons forces ScanImage Relative positions to be used in the specified axes (if not used already) and resets the relative origin in the specified axes to the current position (which is first read from the motor controller).
Once ScanImage Relative positions are used in a particular axes, there is no returning to Motor Absolute coordinates. Pressing
again simply sets a new ScanImage Relative origin (in the specified axes).
- Unknown macro: {blue}: In 4-dimension XYZ-Z case, enabling/disabling this checkbox determines whether primary (disabled) or secondary (enabled) Z motor controller pertains for:
- Unknown macro: {blue}operation
- Unknown macro: {blue}step with arrow controls
- Stack acquisitions
In 4-dimension XYZ-Z case, the
operation sets ScanImage relative origin for all 4 dimensions (i.e. regardless of the
checkbox state).
Matching Relative Coordinates
A common and recommended approach is to set both the motor controller and ScanImage to operate in matched Relative coordinates. The procedure to accomplish this is as follows:
1. Adjust the motor controller to display Motor Relative positions, if not already. (For the MP-285, display of Motor Absolute and Motor Relative positions is toggled by hitting <ENTR>)
2. Set the Motor Relative position to zero at some desired position. (For the MP-285, this is done by hitting <0>,<ENTR>).
3. Immediately afterwards, press
to set the ScanImage Relative position.
At this point, both the motor controller and ScanImage are operating in Relative coordinates, at position (0,0,0). If desired, these steps can be repeated later at new physical position(s), updating both Relative origins in tandem.
- Unknown macro: {blue}Arrows/Steps: Increment or decrement stage position in X, Y, or Z dimension by the specified step, in microns. In 4-dimension XYZ-Z case, theUnknown macro: {blue}value determines which motor controller is used when incrementing/decrementing the Z position.
Section B: Image Stack Acquisition
These controls allow the collection of Image Stack. When the value of
is greater than 1, an Image Stack is implied for each GRAB or LOOP Repeat. Each Slice is an individually triggered acquisition taken at a distinct axial (Z) position, consisting of one or more Frames as specified by
on the Main Controls panel.
The controls in this section also allow the endpoints of the Image Stack to be determined interactively, e.g. by manually focusing to axial (Z) boundaries of a volume-of-interest while using FOCUS mode acquisition.
- Unknown macro: {blue}Specifies the number of Slices to collect during the Image Stack acquisition
- Unknown macro: {blue}Specifies the axial (Z) step to take with the stage/motor controller between each Slice
Either a positive or negative value can be specified, so the motion may proceed in either axial direction
- Unknown macro: {blue}: Specifies that stage/motor controller returns to the Home position – the initial position when GRAB or LOOP is initiated – following the GRAB acquisition or LOOP Repeat, so that subsequent acquisitions or Repeats occur at the same axial positions.
If this option is not enabled when using LOOP mode, then successive Repeats will image progressively further along the axial direction specified
If
Unknown macro: {blue}is disabled, the first Slice in the Image Stack (or first Image Stack within a LOOP acquisition) is taken at the Home position – i.e. the motor does not move until after the first Slice is acquired.
At this time, external triggering is not supported for Image Stack acquisitions
- Unknown macro: {blue}: If enabled, motor position at start of Image Stack acquisition is taken as the center of the stack. Motor is moved backwards by half the total span implied byUnknown macro: {blue}andUnknown macro: {blue}prior to the start of the stack acquisition.
If
Unknown macro: {blue}is even, then no Slice acquisition will occur at exactly the starting
- Unknown macro: {blue}: Button functions equivalently toUnknown macro: {blue}button one Main Controls panel except that, before the acquisition:
- Motor is moved to Z position set as
Unknown macro: {blue}
- If
Unknown macro: {blue}is enabled on the Power Controls, power is adjusted to value measured for each beam(s) whenUnknown macro: {blue}was last set
In addition, this
Unknown macro: {blue}button must be used forUnknown macro: {blue}to have an effect (see below)
- Motor is moved to Z position set as
- Unknown macro: {blue}Pressing one of these buttons reads the current motor position in the Z axis (updating theUnknown macro: {blue}position display) and stores this value as theUnknown macro: {blue}position displayed alongside the buttons. In addition, the start and end powers are measured and stored, which can be recalled on Image Stack acquisitions started byUnknown macro: {blue}on Motor Controls, subject to other controls described below.
The
Unknown macro: {blue}value has no effect, unlessUnknown macro: {blue}is selected
The coordinates displayed are in either ScanImage Absolute or Relative coordinates, depending on whether
Unknown macro: {blue}represents Absolute or Relative positions (i.e. whetherUnknown macro: {blue}orUnknown macro: {blue}has been selected since ScanImage started).
- Unknown macro: {blue}If enabled, adjustments to eitherUnknown macro: {blue}orUnknown macro: {blue}will automatically adjust the other parameter, so that theUnknown macro: {blue}values defined remain in effect.
If the checkbox is deselected, any change to the
Unknown macro: {blue}orUnknown macro: {blue}will clear the stack start/endpoints.
- Unknown macro: {blue}:Unknown macro: {multi-excerpt}
When
Unknown macro: {blue}is selected, stack acquisitions initiated via the
Unknown macro: {blue}button on the Motor Controls panel (rather than from Main Controls) will override the
Unknown macro: {blue}(power length constant) value on the Power Controls panel (assuming
Unknown macro: {blue}is enabled on that panel). Instead the Lz value is computed from power levels measured at the endpoints of the stack determined by the
Unknown macro: {blue}buttons.
WithUnknown macro: {blue}selected, user will typically use
Unknown macro: {blue}mode to adjust power and Z position at both the start and end points of stack, pressing
Unknown macro: {blue}and
Unknown macro: {blue}buttons at each point, respectively to record both the Z position and power level(i.e. using a higher power at the deeper endpoint). Then Lz can simply be computed and this value is used instead of that specified in the Power Controls panel
WhenUnknown macro: {blue}is used, the computed Lz value is displayed to Matlab command line, for each beam. Users may find that this is a useful way to measure/determine Lz for their preparation. User can then simply enter this value in the
Unknown macro: {blue}control on the Power Controls panel and save value to USR file. Assuming that value is fairly consistent from sample to sample (for given sample type), this avoids need to adjust and record power at both start and end points of each stack.
If multiple Beams are used, a separate Lz value is computed/used for each beam, i.e. power level for each Beam is measured independently at each endpoint.
If value of
=Inf for a particular Beam in the Power Controls panel, then power auto-adjustment is disabled for that Beam, regardless of
setting. Additionally, the start power is not adjusted for that Beam when
is pressed on Motor Controls.
Thus, to use the
feature and to ensure start power is adjusted to that set on setting
, some (arbitrary) value (other than Inf) should be entered for each Beam.
Section C: Motor Positions
- Unknown macro: {blue}: Indicates the Position ID matching the last-read motor position (shown inUnknown macro: {blue}display), if any, to within the current Position Tolerance. User can select another Position ID from the dropdown menu to initiate motor move to those stored position coordinates.
If current position does not match any currently defined Position ID, then an empty string is displayed.
- Unknown macro: {blue}: Read the current motor position (updating theUnknown macro: {blue}display) and create new identified Position in the Position Controls panel.
- Unknown macro: {blue}: Show/hide the Position Controls panel.
Cycle Mode
The controls in this section are mainly useful in relation to Cycle Mode operation, which allows for automated/repeated imaging at a defined list, or array, of motor positions. This mode is disabled in ScanImage 3.6. It is functional in ScanImage 3.5.1 and is intended to be supported again in a future ScanImage release.
The controls in this section allow triads of
position values to be saved and recalled. Selecting
stores the current
positions as a triad to the currently indicated
. Later selecting
will command motor to move to the currently indicated
, if a value has been stored.
The entire set of stored
position values can be saved to disk as a .POS (position) file, by selecting
. Likewise, an entire set of stored values can be recalled (eliminating any currently stored values) by selecting
.
Resetting Motor Operation Following Faults
Occasionally, a motor operation (move, read, or other command) may fail during ScanImage operation. This occurrence should be quite rare.
In the event that a motor operation fails during ScanImage execution, the Motor Controls panel will inactivate its controls and display a large
button as depicted here:
[!MotorControlsResetButton.bmp!|^MotorControlsResetButton.bmp]
_Motor Controls panel displays prominent
button in event of motor operation error during ScanImage execution_
- Pressing the
Unknown macro: {blue}button will often restore motor operation, and then causes theUnknown macro: {blue}positions to be updated.
- If the
Unknown macro: {blue}action is unsuccessful, then it is recommended to physically reset the motor controller (the MP-285
has a physical reset button) and then press
Unknown macro: {blue}again.
If the Motor Controls panel is in the 'reset' state, ScanImage operation can continue, but no further operations involving the motor controller can be undertaken