Microscope Commands Documentation
Microscope Control Software version 2.2.0.2
JSON command protocol
TCP/IP port: 16951
Message format: message length (4 bytes, int32) followed by JSON message
| Field | Type/Value | Description | Required | Default |
|---|---|---|---|---|
| Common for all components | ||||
| Ping | command | Ping to check that component is able to receive commands. | ||
| response | ||||
| Common | command | Represent a command that can be executed on a source. | ||
| ComponentName | string | Name of the component to which command is addressed. | Yes | |
| CommandName | string | Name of the command. | Yes | |
| response | ||||
| Success | bool | Indicates if command was successful. | Yes | |
| ErrorMessage | string | Error message describing command error. | Yes | |
| Time | double? | Time in ms it took to execute command or null if unknown. | Yes | |
| Common for all devices | ||||
| Connect | command | Connect microscope to the device. | ||
| response | ||||
| Disconnect | command | Disconnect microscope from device. | ||
| response | ||||
| Ping | command | Ping to check that component is able to receive commands. | ||
| response | ||||
| WaitReady | command | Wait for a device to be ready. | ||
| response | ||||
| AcquisitionControllerDevice | ||||
| LaserAblateUV | command | Trigger a series of pulses of UV ablation laser. | ||
| PulseCount | int | Number of pulses to trigger. | Yes | |
| response | ||||
| Acquire | command | Generate acquisition controller signals. | ||
| IlluminationSettings | string | Name of the illumination settings to use. | Yes | |
| ExposureSettings | string | Name of the exposure settings to use. | Yes | |
| response | ||||
| CameraDevice | ||||
| DisplayedViewSet | command | Set the displayed view in image viewer. | ||
| View | int | The index of the view to display, one based. | Yes | |
| response | ||||
| ImageInfoGet | command | Get info on imaging setup. | ||
| response | ||||
| Width | int | Width of the image in pixels. | Yes | |
| Height | int | Height of the image in pixels. | Yes | |
| Planes | int | Number of planes. | Yes | |
| Channels | int | Number of channels. | Yes | |
| Views | int | Number of views. | Yes | |
| Position | string | Name of position (or null if not known). | Yes | |
| Settings | string | Name of settings. | Yes | |
| TimePoint | int? | Time point starting at 1. | Yes | |
| VoxelX | double? | Size of Voxel X in um. | Yes | |
| VoxelY | double? | Size of Voxel Y in um. | Yes | |
| VoxelZ | double? | Size of Voxel Z in um (or null if no stack). | Yes | |
| NumericalAperture | double | Numerical aperture of objective. | Yes | |
| OffsetGet | command | Get offset between camera views. | ||
| response | ||||
| OffsetX | int | The offset between views along X-axis. | Yes | |
| OffsetY | int | The offset between views along Y-axis. | Yes | |
| OffsetSet | command | Set the offset between camera views. | ||
| OffsetX | int | The offset between views along X-axis. | Yes | |
| OffsetY | int | The offset between views along Y-axis. | Yes | |
| response | ||||
| ImageGet | command | Get image from camera. | ||
| Plane | int | Plane to get (1 based). | No | 1 |
| ChannelIndex | int | Index of channel to get (1 based). | No | 1 |
| ViewIndex | int | Index of View to get (1 based). | No | 1 |
| Top | int? | Index of top most pixel to get (0 based), null to center. | No | null |
| Left | int? | Index of left most pixel to get (0 based), null to center. | No | null |
| Width | int? | Width of the image in pixels or null to get full width. | No | null |
| Height | int? | Height of the image in pixels or null to get full height. | No | null |
| response | ||||
| Width | int | Width of the image. | Yes | |
| Height | int | Height of the image. | Yes | |
| ImageData | string | Image data represented in base64 encoding. | Yes | |
| FilterWheelDevice | ||||
| Move | command | Move filter wheel to specified filter. | ||
| FilterName | string | Name of the filter settings to move device to. | Yes | |
| Force | bool | Whether to force the filter wheel to move (even if already at correct position). | No | false |
| response | ||||
| MoveTo | command | Move filter wheel to specified position. | ||
| Position | int | Position to move the device to. | Yes | |
| Force | bool | Whether to force the filter wheel to move (even if already at correct position). | No | false |
| response | ||||
| IlluminationModuleDevice | ||||
| CurrentIlluminationGet | command | Get values currently applied on the hardware. | ||
| response | ||||
| Name | string | Name of illumination settings. | Yes | |
| TranslationX | double | The translation along X-axis. | Yes | |
| RotationX | double | The rotation along X-axis. | Yes | |
| TranslationY | double | The translation along Y-axis. | Yes | |
| TranslationZ | double | The translation along Z-axis. | Yes | |
| RotationZ | double | The rotation along Z-axis. | Yes | |
| IlluminationSet | command | Set the illumination settings. | ||
| Name | string | Name of the illumination settings to set. | Yes | |
| TranslationX | double? | The translation along X-axis or null to keep original value. | No | null |
| RotationX | double? | The rotation along X-axis or null to keep original value. | No | null |
| TranslationY | double? | The translation along Y-axis or null to keep original value. | No | null |
| TranslationZ | double? | The translation along Z-axis or null to keep original value. | No | null |
| RotationZ | double? | The rotation along Z-axis or null to keep original value. | No | null |
| SetDevice | bool | Whether to apply the new settings on device. | No | false |
| response | ||||
| OffsetBaseGet | command | Get base offset values. | ||
| response | ||||
| PositionAlignmentSet | command | Set position specific Z-alignment and enable the position. | ||
| Name | string | Name of the position alignment settings to set. | Yes | |
| TranslationZ | double? | Translation along Z-axis to set or null to keep original value. | No | null |
| Enable | bool? | Enable to set or null to keep original value. | No | null |
| response | ||||
| PositionAlignmentGet | command | Get position specific Z-alignment. | ||
| Name | string | Name of the position alignment settings to get. | Yes | |
| response | ||||
| Name | string | Name of the position. | Yes | |
| TranslationZ | double | Translation along Z-axis. | Yes | |
| Enable | bool | Whether the alignment is applied. | Yes | |
| OffsetsBaseSet | command | Set base offsets, all current settings are overwritten. | ||
| OffsetsBase | list of dict | The list of base offsets. Keys of dict listed below. | Yes | |
| Branch | int | Unique number of illumination branch (value 1, 2 or 3). | Yes | |
| Scanner1Offset | double | Voltage on scanner 1. | Yes | |
| Scanner2Offset | double | Voltage on scanner 2. | Yes | |
| Scanner3Offset | double | Voltage on scanner 3. | Yes | |
| Scanner4Offset | double | Voltage on scanner 4. | Yes | |
| response | ||||
| IlluminationGet | command | Get current illumination settings. | ||
| Name | string | Name of the illumination settings to get. | Yes | |
| response | ||||
| Name | string | Name of illumination settings. | Yes | |
| TranslationX | double | The translation along X-axis. | Yes | |
| RotationX | double | The rotation along X-axis. | Yes | |
| TranslationY | double | The translation along Y-axis. | Yes | |
| TranslationZ | double | The translation along Z-axis. | Yes | |
| RotationZ | double | The rotation along Z-axis. | Yes | |
| System | ||||
| GetDeviceList | command | Get a list of names and types of devices connected to the microscope. | ||
| response | ||||
| DeviceNames | list of string | List of device names. | Yes | |
| DeviceTypes | list of string | List of device types. | Yes | |
| GetDeviceType | command | Get the type of a device. | ||
| QueryDeviceName | string | The name of the device to get the type for. | Yes | |
| response | ||||
| DeviceType | string | Type of the device. | Yes | |
| PhotomanipulationComponent | ||||
| OffsetsBaseGet | command | Get base offset values from internal or external photomanipulation laser. | ||
| OffsetsInternal | bool | Whether offsets are from internal or external photomanipulation laser. | No | true |
| response | ||||
| OffsetsBase | dict | The base offsets. Keys of dict listed below. | Yes | |
| Scanner1Offset | double | Voltage on scanner 1 (closest to scan lens). | Yes | |
| Scanner2Offset | double | Voltage on scanner 2. | Yes | |
| Scanner3Offset | double | Voltage on scanner 3. | Yes | |
| Scanner4Offset | double | Voltage on scanner 4 (furthest from scan lens). | Yes | |
| OffsetsBaseSet | command | Set base offsets for internal or external photomanipulation laser, all current settings are overwritten. | ||
| OffsetsBase | dict | The baser offsets. Keys of dict listed below. | Yes | |
| Scanner1Offset | double | Voltage on scanner 1 (closest to scan lens). | Yes | |
| Scanner2Offset | double | Voltage on scanner 2. | Yes | |
| Scanner3Offset | double | Voltage on scanner 3. | Yes | |
| Scanner4Offset | double | Voltage on scanner 4 (furthest from scan lens). | Yes | |
| response | ||||
| StageXYZDevice | ||||
| ForgetCurrentPosition | command | Make stage forget position name on which it's located. | ||
| response | ||||
| Move | command | Move stage to a position. | ||
| Name | string | Name of the position settings. | Yes | |
| ZStackName | string | Name of the Z-stack settings to use or null to move to center. | No | null |
| Plane | int? | Plane of the Z-stack to move to or null to move to center. | No | null |
| Offset | list of double | List of relative X, Y, Z offsets to add to the position. | No | null |
| response | ||||
| PositionNamesGet | command | Get a list of position names. | ||
| response | ||||
| Names | list of string | List of position names. | Yes | |
| PositionSet | command | Set position settings. | ||
| Name | string | Name of the position settings to set. | Yes | |
| PositionX | double? | Position on X-axis to set or null to keep original value. | No | null |
| PositionY | double? | Position on Y-axis to set or null to keep original value. | No | null |
| PositionZ | double? | Position on Z-axis to set or null to keep original value. | No | null |
| SkipPosition | bool? | Whether to skip the position or null to keep original value. | No | null |
| response | ||||
| PositionGet | command | Get position settings. | ||
| Name | string | Name of the position settings. | Yes | |
| response | ||||
| Name | string | Name of the position. | Yes | |
| PositionX | double | Position on X-axis. | Yes | |
| PositionY | double | Position on Y-axis. | Yes | |
| PositionZ | double | Position on Z-axis. | Yes | |
| SkipPosition | bool | Whether the position is skipped. | Yes | |
| TimeLapseController | ||||
| ContinueFromPause | command | Continue from pause. | ||
| response | ||||
| NoPauseAfterPosition | command | Disable pause after every position has been acquired. | ||
| response | ||||
| PauseAfterPosition | command | Ask time-lapse to pause after each position has been acquired. | ||
| response | ||||
| Start | command | Start a time-lapse. | ||
| response | ||||
| Stop | command | Stop time-lapse. | ||
| response | ||||
| WaitForPause | command | Wait until time-lapse controller is paused. | ||
| Timeout | int | Waiting timeout in ms, -1 to wait indefinitely. | No | -1 |
| response | ||||
| Position | string | Position which was paused. | Yes | |
| TimePoint | int | Time point which was paused. | Yes | |
| Timeout | bool | True if timeout, if paused false | Yes | |
| Snap | command | Snap an image. | ||
| Illumination1 | bool? | If not null override user settings and enable or disable illumination 1. | No | null |
| Illumination2 | bool? | If not null override user settings and enable or disable illumination 2. | No | null |
| Fast | bool | Whether to bypass setting of settable devices (for example filter wheels will not move to defined settings). | No | false |
| response | ||||