ScanImage control of X/Y & Z position, of either the objective or specimen, requires use of a Sutter Instruments MP-285 controller. Several improvements to the MP-285 interface have been added in ScanImage 3.5:
* The 'calibration' of the X/Y & Z motions has been improved. When custom stages and/or stepper motors are used, the user modifies physically intuitive _umPerStepX/Y/Z_ variables which reside in the INI File Rig Configuration section.
* The _# Slices_ and _Z step/slice_ values in the {link-window:ScanImage Pics^r3_5_StandardModeGUI.png|type=popup}*Standard Controls*{link-window} window can now be constrained to the stack start/end-points set in the *Movement* window (if both are in factset). This new option is active by default.
* MP-285 error conditions are now uniformly handled. A simple procedure allows recovery from most errors.
\\
{panel:title=Movement}
{center}[!ScanImage Pics^r3_5_MotorGUI.png|height=150!|ScanImage Pics^r3_5_MotorGUI.png]{center}
h5. New Controls
* *Stack Start/End*: These read-only display controls allow Z positions set via _start_ and _end_ buttons to be seen, and stored even as the current Z position may be updated.
* *Slice Params Obey Start/End*: If selected, when either one of the _# slices_ or _Z step/slice_ is adjusted in the {link-window:ScanImage Pics^r3_5_StandardModeGUI.png|type=popup}*Standard Controls*{link-window} window, the other parameter will auto-adjust, so the start/endpoints set here remain in effect. For example, the user can vary the _Z step/slice_ and the _# slices_ will auto-adjust based on the distance between the stack start/end. If the checkbox is deselected, any change to the _Z step/slice_ or _# slices_ will clear the stack start/endpoints.
h5. Modified Controls
* *GRAB*: This control, which initiates a GRAB acquisition consisting of a Z stack between the displayed stack start/endpoints, is now inactive unless both a stack start and end have been entered.
{panel}
\\
{panel:title=INI File _Rig Configuration_ Changes|bgColor=#DDFFFF}
{center}{link-window:ScanImage Files^r3_5_standardINI_rigConfig.txt|target="_blank"}View _Rig Configuration_ Section of Model INI File{link-window}{center}
h5. New Variables
* *umPerStepX/Y/Z*: Specifies the distance traveled per motor _step_, which also comprises the effective position resolution of the stage/motor system. The default values (2.0) match the Sutter stages which come together with the MP-285. If a custom stage and/or stepper motor is used in any dimension, then this value should be adjusted to match the stage/stepper system for that dimension.
(/) See [Supported Devices] (in Appendix 2) for more details about _umPerStep_ values for typical ScanImage hardware configurations and how, generally, to determine this value.
(/) The MP-285 firmware encodes an assumed _um/step_ value in each dimension, which should ideally match the stage/stepper to ensure the controller displays accurate values.
See [Supported Devices] (in Appendix 2) for more details.
* *posnResolution*: ScanImage validates the motor end position following all move operations, except for those in the midst of a stack acquisition. Infrequently, the end position will not exactly match the specified position. This value specifies, in microns, the smallest difference that will be tolerated without alerting the user.
h5. Modified Variables
(!) These variables are not generally modified by typical users.
* *velocityFast/Slow*: (Previously below Rig Configuration section) These values specify the 'velocity' of the motor movement employed for long moves (fast) and short moves (slow). Movements during stack acquisitions always follow _velocitySlow_. Other movements (e.g. entering a new position in one of the X/Y/Z controls) use _velocityFast_ for moves larger than 100um to get within 100um of the final position. The movement always finish using _velocitySlow_ to reach the final position, which helps ensure the correct position is reached. The _velocityFast_ value is roughly in um/second, whereas _velocitySlow_ is in units about half of this.
(!) The precise calibration of these 'velocities' is not fully understood and is known to be somewhat nonlinear. The default values in _standard_model.INI_ (2000 and 400, respectively) have been found empirically to be satisfactory.
(!) Values for _velocityFast_ and _velocitySlow_ must not exceed 6500 and 1300, respectively.
h5. Removed Variables
* *calibrationFactorX/Y/Z*: (Previously below Rig Configuration section) These values are replaced by the new _umPerStepX/Y/Z_ variables described above.
{panel}
h5. Error Handling
If an error condition is encountered during MP-285 operation, including timeout errors, the *Movement* window will clearly indicate the error condition:
{center}[!ScanImage Pics^r3_5_MotorGUI_error.png|height=150px!|ScanImage Pics^r3_5_MotorGUI_error.png]{center}
Hitting the _RESET_ button will attempt to restore communication with the MP-285 using serial commands sent to the MP-285 (the 'Interrupt' command is sent multiple times). Following that, the X,Y, and Z positions are read and updated. This ensures that future motor commands pertain to the correct actual positions.
If the _RESET_ operation is unsuccessful, the user is advised to press the physical Reset button on the MP-285 controller. After this, pressing the software _RESET_ button in the *Movement* window should operate correctly.
When the MP-285 is in an error condition, ScanImage operation can continue, but motor operations will not be possible.
|