ScanImage 2019 : Motor Coordinate System

In ScanImage 2019b, an absolute Coordinate System was introduced. The coordinate system is a right handed coordinate system with the positive z axis pointing into the sample (away from the objective). It is important to configure ScanImage's motor system to follow this convention (see images on right).


Motor Configuration

Each motor axis either moves the objective (MOM configuration) or the sample stage. This information should be entered in the Motor Configuration section of the Machine Configuration Editor ('Effect').

Ensure that the motor axes move the sample as described above by adjusting the axis scaling. A scaling factor of -1 inverts the axis movement.

Note: the 'Scaling' and 'Effect' settings in the configuration editor can be edited without restarting ScanImage. After adjusting the settings, click 'Apply' to update the ScanImage coordinate system.

Motor Controls

The Motor Controls window shows the current Z-Focus
in Sample Coordinates at 150um. The focus depth
is a combination of the sample position (100um) and the
position of the piezo objective positioner (50um).

The Stack Controls window shows the slice positions
in sample coordinates.
Sample Coordinates: Lateral


(A) ScanImage images the sample at lateral coordinates (0,0)
(B) ScanImage images the sample at lateral coordinates (1,1)

When incrementing the X and Y sample coordinates, the sample will move toward the top left corner of the viewport.

Sample Coordinates: Axial

(A) ScanImage images the sample at axial coordinates z = 0
(B) ScanImage images the sample at axial coordinates z = 1

By incrementing the Z sample coordinate, the focal point moves into the sample.


The following commands can be used to move the sample:

xyz = [0 0 0];
hSI.hMotors.moveSample(xyz); 			 % move sample to specified x,y,z coordinates
hSI.hMotors.queryPosition(xyz); 		 % query motors for position
position = hSI.hMotors.samplePosition(); % read sample position

hSI.hMotors.zeroSample();				 % establish relative origin
hSI.hMotors.clearZero();				 % clear relative origin






Sample coordinates XY.png (image/png)
Sample coordinates Z.png (image/png)
Motor Settings.PNG (image/png)
Motor Controls.PNG (image/png)
Motor Controls.PNG (image/png)
Z Stack.PNG (image/png)