Microscope Commands Documentation
Microscope Control Software version 2.2.2.0
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 the camera buffer. | ||
| 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 | ||||
| GetZStack | command | Get Z-Stack settings. | ||
| Name | string | Name of the Z-Stack settings. | Yes | |
| response | ||||
| Name | string | Name of the Z-Stack settings. | Yes | |
| Step | double | The step size in micrometer between each plane. | Yes | |
| Planes | int | The number of planes of the stack. | Yes | |
| GetZStackNames | command | Get a list of Z-Stack settings names. | ||
| response | ||||
| Names | list of string | List of Z-Stack names. | Yes | |
| 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 | |
| NewName | string | The new name of the position settings or null to keep original value. | No | null |
| 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 | |
| SetZStack | command | Set Z-Stack settings. | ||
| Name | string | Name of the Z-stack settings to set. | Yes | |
| NewName | string | The new name of the Z-stack settings or null to keep original value. | No | null |
| Step | double? | The step size in micrometer between each plane to set or null to keep original value. | No | null |
| Planes | int? | The number of planes of the stack to set or null to keep original value. | No | null |
| response | ||||
| TimeLapseController | ||||
| ContinueFromPause | command | Continue from pause after a position. | ||
| response | ||||
| GetAcquisitionSettings | command | Get acquisition settings. | ||
| response | ||||
| TimeInterval | double | The time interval in seconds between two time points. | Yes | |
| Repetitions | int | The number of time points to acquire. | Yes | |
| ExperimentName | string | The name of the experiment. | Yes | |
| GetChannelSettings | command | Get the channel settings in a settings profile. | ||
| SettingsProfile | string | The name of the settings profile to get the channel settings from. | Yes | |
| Name | string | The name of the channel settings to get. | Yes | |
| response | ||||
| Name | string | The name of the channel settings. | Yes | |
| Enabled | bool | Whether the channel should be acquired. | Yes | |
| AcquireNthTimePoint | int | Interval at which the channel should be acquired. It is acquired at every specified number of time points. | Yes | |
| Color | enum | The channel default color. Possible values listed below. | Yes | |
| Red | string | Red color. | - | |
| Green | string | Green color. | - | |
| Blue | string | Blue color. | - | |
| Cyan | string | Cyan color. | - | |
| Magenta | string | Magenta color. | - | |
| Yellow | string | Yellow color. | - | |
| White | string | White color. | - | |
| Illumination | string | The name of the illumination settings to apply on acquisition controller device. | Yes | |
| Exposure | string | The name of the exposure settings to apply on acquisition controller device. | Yes | |
| GetChannelSettingsNames | command | Get the list of channel settings names in a settings profile. | ||
| SettingsProfile | string | The name of the settings profile to get the channel settings names from. | Yes | |
| response | ||||
| Names | list of string | List of channel settings names. | Yes | |
| GetSettingsProfile | command | Get a settings profile. | ||
| Name | string | The name of the settings profile to get. | Yes | |
| response | ||||
| Name | string | The name of the settings profile. | Yes | |
| Enabled | bool | Whether the settings profile should be acquired. | Yes | |
| ZStack | string | The name of the Z-Stack settings to apply, single plane if null. | Yes | |
| Positions | list of string | The list of positions to acquire. If null, all positions are acquired. If empty, no positions are acquired. | Yes | |
| Views | enum | The view(s) to acquire. Possible values listed below. | Yes | |
| View1 | string | View 1 | - | |
| View2 | string | View 2 | - | |
| View1and2 | string | View 1 and 2 | - | |
| GetSettingsProfileNames | command | Get the list of settings profile names. | ||
| response | ||||
| Names | list of string | List of settings profile names. | Yes | |
| 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 | ||||
| SetAcquisitionSettings | command | Set acquisition settings. | ||
| TimeInterval | double? | The time interval in seconds between two time points to set or null to keep original value. | No | null |
| Repetitions | int? | The number of time points to acquire to set or null to keep original value. | No | null |
| ExperimentName | string | The name of the experiment to set or null to keep original value. | No | null |
| response | ||||
| SetChannelSettings | command | Set the channel settings in a settings profile. | ||
| SettingsProfile | string | The name of the settings profile to set the channel settings in. | Yes | |
| Name | string | Name of the channel settings to set. | Yes | |
| NewName | string | The new name of the settings profile or null to keep original value. | No | null |
| Enabled | bool? | Whether the channel settings should be acquired or null to keep original value. | No | null |
| AcquireNthTimePoint | int? | Interval at which the channel should be acquired or null to keep original value. | No | null |
| Color | enum? | The channel default color or null to keep original value. Possible values listed below. | No | null |
| Red | string | Red color. | - | |
| Green | string | Green color. | - | |
| Blue | string | Blue color. | - | |
| Cyan | string | Cyan color. | - | |
| Magenta | string | Magenta color. | - | |
| Yellow | string | Yellow color. | - | |
| White | string | White color. | - | |
| Illumination | string | The name of the illumination settings to apply or null to keep original value. | No | null |
| Exposure | string | The name of the exposure settings to apply or null to keep original value. | No | null |
| response | ||||
| SetSettingsProfile | command | Set a settings profile. | ||
| Name | string | Name of the settings profile to set. | Yes | |
| NewName | string | The new name of the settings profile or null to keep original value. | No | null |
| Enabled | bool? | Whether the settings profile should be acquired or null to keep original value. | No | null |
| ZStack | string | The name of the Z-Stack settings to apply or null to keep original value. | No | null |
| IsSinglePlane | bool? | Whether the settings profile should be acquired in single plane or null to keep original value. If false, must be defined. If true, must be null. | No | null |
| Positions | list of string | The list of positions to acquire or null to keep original value. | No | null |
| PositionsAll | bool? | Whether all positions should be acquired or null to keep original value. If true, must be null. If false, must be defined. | No | null |
| Views | enum? | The view(s) to acquire or null to keep original value. Possible values listed below. | No | null |
| View1 | string | View 1 | - | |
| View2 | string | View 2 | - | |
| View1and2 | string | View 1 and 2 | - | |
| response | ||||
| Start | command | Start a time-lapse. | ||
| response | ||||
| Stop | command | Stop time-lapse. | ||
| response | ||||
| WaitForPause | command | Wait until time-lapse controller is paused after a position. | ||
| 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 | ||||