Skip to main content

Micro-Manager Methods

Initialization and Setup

MMC_LoadDevice /Q /Z deviceLabel, moduleName, deviceName

Instructs Micro-Manager to create and open a new interface for the device specified by moduleName and deviceName, assigning that interface the identity specified by deviceLabel. Call MMC_GetAvailableDevices to obtain a list of devices supported by a specific module (device-adapter).

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelAn Igor string containing the case-sensitive label to be used to identify the instance of the device created by this operation.
moduleNameAn Igor string containing the 'root' of the name of the Micro-Manager device-adapter to be used for this device. (See Getting Started with MMI for more about the filenames used for device-adapters.) For example, if you want to load a device from the device-adapter embodied by the file mmgr_dal_SutterLambda.dll, the moduleName parameter would be "SutterLambda".
deviceNameAn Igor string containing the case-sensitive name of the device you want to load from the adapter. This name is set by the author of the device-adapter, and your parameter must match exactly one of devices supported by the module.

See Also

Getting Started with MMI, MMC_GetAvailableDevices, MMC_UnloadDevice

MMC_UnloadDevice /Q /Z deviceLabel

Instructs Micro-Manager to release its interface for the device specified by deviceLabel. The specified device must have been created previously through a call to MMC_LoadDevice.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelAn Igor string containing the case-sensitive label of the device to be released. deviceLabel must have been used in the preceding call to MMC_LoadDevice that created the interface.

See Also

Getting Started with MMI, MMC_LoadDevice, MMC_UnloadAllDevices

MMC_UnloadAllDevices /Q /Z

Instructs Micro-Manager to delete its interfaces for all currently loaded devices.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

See Also

MMC_LoadDevice, MMC_UnloadDevice

MMC_InitializeAllDevices /Q /Z

Instructs Micro-Manager to initialize the interfaces for all its currently loaded devices.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

See Also

MMC_LoadDevice, MMC_InitializeDevice

MMC_InitializeDevice /Q /Z deviceLabel

Instructs Micro-Manager to initialize its interface for the device specified by deviceLabel. The specified device must have been created previously through a call to MMC_LoadDevice.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelAn Igor string containing the case-sensitive label of the 'device' to be initialized.

See Also

MMC_LoadDevice, MMC_InitializeAllDevices

MMC_Reset /Q /Z

Resets Micro-Manager's core, unloading all devices and resetting its internal configuration.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

See Also

MMI_Reset, MMC_UnloadAllDevices

MMC_UpdateCoreProperties /Q /Z

Updates Micro-Manager's set of core properties (selected camera, shutter, wheel, etc.) from currently loaded devices.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

See Also

MMC_InitializeAllDevices

MMC_GetCoreErrorText (errCode)

Returns a string containing the Micro-Manager error text corresponding to the specified error code.

Parameters

errCodeA number or Igor numeric variable indicating the Micro-Manager error-code whose error text is to be returned.

MMC_GetVersionInfo ( )

Returns a string containing the version number of Micro-Manager's core. For example, typing the following on Igor's command line

print MMC_GetVersionInfo()

evokes the response

MMCore version 10.4.0

See Also

MMC_GetAPIVersionInfo, MMI_GetXOPversion

MMC_GetAPIVersionInfo ( )

Returns a string containing the version numbers of Micro-Manager's Module-API and Device-API. For example, typing the following on Igor's command line

print MMC_GetAPIVersionInfo()

evokes the response

Device API version 71, Module API version 10

See Also

MMC_GetVersionInfo, MMI_GetXOPversion

MMC_SaveSystemState /Q /Z fileName

Saves the current state of the Micro-Manager system (i.e. the status of writable properties) as text, to the named file. The file created can be used later by MMC_LoadSystemState to re-install the state into Micro-Manager.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

fileNameA string that specifies the path- and file-name of the file to receive the state information.

Details

This operation will overwrite any existing file with the same name. Be sure to use double back-slash characters to separate names within a compound pathname.

See Also

MMC_LoadSystemState, MMC_SaveSystemConfig, MMC_LoadSystemConfig

MMC_LoadSystemState /Q /Z fileName

Loads the state of the Micro-Manager system (i.e. the status of writable properties) from the named file, created by a previous call to MMC_SaveSystemState.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

fileNameA string that specifies the path- and file-name of the file containing the state information to be loaded.

Details

Be sure to use double back-slash characters to separate names within a compound pathname.

See Also

MMC_SaveSystemState, MMC_SaveSystemConfig, MMC_LoadSystemConfig

MMC_SaveSystemConfig /Q /Z fileName

Instructs Micro-Manager to save the current system configuration (devices loaded, their labels, etc.) to a text file in Micro-Manager's standard file format. The file created can be used later to re-install the configuration by calling MMC_LoadSystemConfig.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

fileNameA string that specifies the path- and file-name of the file to receive the configuration.

Details

This operation will overwrite any existing file with the same name. Be sure to use double back-slash characters to separate names within a compound pathname.

See Also

MMC_LoadSystemConfig

MMC_LoadSystemConfig /Q /Z fileName

Instructs Micro-Manager to load the system's configuration from a text file created by a previous call to MMC_SaveSystemConfig.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

fileNameA string that specifies the path- and file-name of the file that contains the system configuration to be loaded.

Details

Be sure to use double back-slash characters to separate names within a compound pathname.

See Also

MMC_SaveSystemConfig

Logging and Log Management

MMC_SetPrimaryLogFile /Q /Z logFileName [, truncate]

Sets the named file as Micro-Manager's primary log file.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

logFileNameAn Igor string specifying the full pathname of the file to be Micro-Manager's primary log file. If the filename is omitted or if a NULL ("") filename is entered, Micro-Manager's primary log file is disabled.
truncateAn optional numeric parameter (with default value of zero), which specifies how to handle a pre-existing file with the same pathname. If truncate is zero, new entries are appended to the previous contents of the file. If truncate is non-zero, the previous contents of the file are erased before new entries are appended.

Details

Be sure to use double back-slash characters to separate names within a compound pathname.

See Also

MMC_GetPrimaryLogFile, MMC_LogMessage

MMC_GetPrimaryLogFile ( )

Returns a string containing the complete pathname of Micro-Manager's primary log file.

See Also

MMC_SetPrimaryLogFile, MMC_LogMessage

MMC_LogMessage /Q /Z message [,debugOnly]

Appends a message to Micro-Manager's primary log file.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

messageAn Igor string specifying the message to be appended to the log file.
debugOnlyAn optional numeric parameter (with default value of zero). If debugOnly is non-zero, the message is appended to the log file only when debug-logging is enabled. If debugOnly is zero, the message is always appended to the log file.

See Also

MMC_GetPrimaryLogFile, MMC_SetPrimaryLogFile, MMC_EnableDebugLog

MMC_EnableDebugLog /Q /Z enableState

Enables or disables logging of Micro-Manager's debug messages.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

enableStateA numeric value that sets the enabled state for debug messages. Setting enableState to zero disables logging of debug messages. Setting enableState to any non-zero value enables logging of debug messages.

See Also

MMC_SetPrimaryLogFile, MMC_LogMessage, MMC_DebugLogEnabled

MMC_DebugLogEnabled ( )

Parameters

(None)

Returns

A numeric value indicating whether debug logging is enabled.

See Also

MMC_SetPrimaryLogFile, MMC_EnableDebugLog

MMC_EnableStdErrLog /Q /Z enableState

Enables or disables Micro-Manager's sending log messages to standard error output.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

enableStateA numeric value that sets the enabled state for sending log messages to stderr. Setting enableState to zero disables sending log messages to stderr. Setting enableState to any non-zero value enables sending log messages to stderr.

See Also

MMC_StdErrLogEnabled

MMC_StdErrLogEnabled ( )

Parameters

(None)

Returns

A numeric value indicating whether logging output is directed to standard error.

See Also

MMC_SetPrimaryLogFile, MMC_EnableStdErrLog

MMC_StartSecondaryLogFile (logFileName, enableDebug, truncate, synchronous)

Starts Micro-Manager's capturing of logging messages into an additional output file. Returns a numeric value identifying the secondary log file created.

Parameters

logFileNameA string specifying the path- and file-name of the secondary logfile to be used.
enableDebugA numeric value specifying whether debugging messages should be logged to the secondary file, independent of whether debugging messages are logged to the primary log file. When set to zero, debug messages will be excluded from the secondary log file. When set to any non-zero value, debug messages will be included in the secondary log file.
truncateA numeric value specifying how to handle any pre-existing file that has the same pathname as specified by logFileName. When set to zero, new log messages are appended to the pre-existing file. When set to any non-zero value, any pre-existing file is cleared before new log messages are written to the file.
synchronousA numeric value specifying whether writes to the secondary logging file must complete before logging functions return to their caller. When set to zero, writes to the secondary log file are executed asynchronously. When set to any non-zero value, writes to the secondary log file are performed synchronously, ensuring that writes are complete when the logging function returns to its caller. Micro-Manager states that synchronous writes help in some debugging situations, but at a cost in performance.

Returns

A numeric value identifying the secondary log file created. This identifier is required when calling MMC_StopSecondaryLogFile.

Details

Be sure to use double back-slash characters to separate names within a compound pathname.

See Also

MMC_SetPrimaryLogFile, MMC_StopSecondaryLogFile

MMC_StopSecondaryLogFile /Q /Z fileHandle

Halts Micro-Manager's recording of logging messages into the secondary log file specified by the fileHandle.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

fileHandleA numeric identifier of the selected secondary logfile into which logging is to be halted.

See Also

MMC_SetPrimaryLogFile, MMC_StartSecondaryLogFile

Device Listing

MMC_GetDeviceAdapterNames /Q /Z [destinationWave]

Gets a list of root-names for all discoverable device-adapters.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

destinationWaveAn optional Igor text wave which is to receive the list of devices. If no existing wave is specified, the results will be written to a new text wave in the current data folder named W_MMCdeviceAdapters.

Details

Recall that, under Windows, Micro-Manager's device-adapters are implemented as .dll files with names that match the pattern:

mmgr_dal_<*root-name*>.dll

MMC_GetDeviceAdapterNames returns a list of the root-names of the device-adapters that are accessible to Micro-Manager.

See Also

Getting Started with MMI, MMC_GetDeviceName

MMC_GetAvailableDevices /Q /Z /O moduleName [, destinationWave]

Gets a list of the names of the devices available from the specified module (device-adapter), each together with its device-type and description.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

moduleNameThe 'root' name of the module (device-adapter) whose devices are to be listed. The root name of a Micro-Manager module is embedded in the name of the .dll file implementing the device-adapter, as follows:
mmgr_dal_<*root-name*>.dll
destinationWaveAn optional Igor text wave which is to receive the list of devices. If no existing wave is specified, the results will be written to a new text wave in the current data folder named W_MMCavailDevices.

Details

MMC_GetDeviceAdapterNames returns a list of the root-names of the device-adapters that are accessible to Micro-Manager.

See Also

Getting Started with MMI, MMC_GetLoadedDevices, MMC_GetDeviceType, MMC_GetDeviceName, MMC_GetDeviceLibrary

MMC_GetLoadedDevices /Q /Z destTextWave

Gets a list of the names of the devices loaded into Micro-Manager's core.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

destTextWaveAn optional Igor text wave which is to receive the list of devices. If no existing wave is specified, the results will be written to a new text wave in the current data folder named W_MMCloadedDevices.

See Also

MMC_GetLoadedDevices, MMC_GetDeviceType, MMC_GetDeviceName, MMC_GetDeviceLibrary

Generic Device Control

MMC_GetDeviceName (deviceLabel)

Returns the device-name for a specified device-label.

Parameters

deviceLabelA string containing the case-sensitive Micro-Manager device-label assigned by a previous call to MMC_LoadDevice.

Returns

A string containing the case-sensitive Micro-Manager device-name for to device whose label was provided.

See Also

Getting Started with MMI, MMC_GetDeviceLibrary, MMC_GetDeviceType

MMC_GetDeviceLibrary (deviceLabel)

Returns the root-name of the library (device-adapter) for a specified device-label.

Parameters

deviceLabelA string containing the label assigned to the device by a previous call to MMC_LoadDevice.

Returns

A string containing the root-name of the library (device-adapter) implementing the interface to the device specified by the device-label.

See Also

Getting Started with MMI, MMC_GetDeviceName, MMC_GetDeviceType

MMC_GetDeviceType (deviceLabel)

Returns the device-type for a specified device-label.

Parameters

deviceLabelA string containing the label assigned to the device by a previous call to MMC_LoadDevice.

Returns

A numeric value encoding the type of device represented by the specified device-label.

Details

The returned numeric value encodes the device-type as follows:

CodeDevice Type
0UnknownType
1AnyType
2CameraDevice
3ShutterDevice
4StateDevice
5StageDevice
6XYStageDevice
7SerialDevice
8GenericDevice
9AutoFocusDevice
10CoreDevice
11ImageProcessorDevice
12SignalIODevice
13MagnifierDevice
14SLMDevice
15HubDevice
16GalvoDevice

See Also

MMC_GetDeviceName, MMC_GetDeviceLibrary

MMC_GetPropertyNumeric (deviceLabel, propertyName)

Returns a double containing the numeric value of the named property for the specified device.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.
propertyNameA string containing the case-sensitive name of the property whose value is sought.

Returns

A real, numeric value containing the value of the named property.

Details

Use this function to get the values of any of Micro-Manager's numeric property-types -- floats and integers.

See Also

MMI_GetDevicePropertyList, MMC_GetPropertyString, MMC_SetProperty

MMC_GetPropertyString (deviceLabel, propertyName)

Returns a string containing the value of the named property for the specified device.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.
propertyNameA string containing the case-sensitive name of the property whose value is sought.

Returns

A string containing the value of the named property.

See Also

MMI_GetDevicePropertyList, MMC_GetPropertyNumeric, MMC_SetProperty

MMC_GetAllowedPropertyValues /Q /Z deviceLabel, propertyName [, destTextWave]

Returns a list of allowed string values for the named property for the device specified by the device-label. Only available for properties using string-values.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.
propertyNameA string containing the case-sensitive name of the property whose values are sought.
destTextWaveAn optional Igor text wave which is to receive the list of allowed values. If no existing wave is specified, the results will be written to a new text wave in the current data folder named W_MMCallowedPropertyValues.

See Also

MMI_GetDevicePropertyList, MMC_GetPropertyString, MMC_SetProperty

MMC_IsPropertyReadOnly (deviceLabel, propertyName)

Reports if named property of the specified device is read-only -- it cannot be assigned a new value.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.
propertyNameA case-sensitive string that specifies the name of the property being checked.

Returns

A numeric value (0 or 1), where
1 indicates the property is read-only,
0 indicates the property is not read-only

See Also

MMI_GetDevicePropertyList

MMC_IsPropertyPreInit (deviceLabel, propertyName)

Reports if named property of the specified device must be assigned a value prior to the device being initialized.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.
propertyNameA case-sensitive string that specifies the name of the property being checked.

Returns

A numeric value (0 or 1), where
1 indicates the property must be assigned its value before the device is initialized,
0 indicates the property should be assigned its value after the device is initialized

See Also

MMI_GetDevicePropertyList, MMC_SetProperty

MMC_HasPropertyLimits (deviceLabel, propertyName)

Reports if the named numeric property of the specified device has defined upper- and lower-limits to its permitted values.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.
propertyNameA case-sensitive string that specifies the name of the property being checked.

Returns

A numeric value (0 or 1), where
1 indicates the property has defined upper- and lower-limits,
0 indicates the property does not have defined upper- and lower-limits

See Also

MMI_GetDevicePropertyList, MMC_GetPropertyLowerLimit, MMC_GetPropertyUpperLimit

MMC_GetPropertyLowerLimit (deviceLabel, propertyName)

Returns the minimum permitted value of the named numeric property of the specified device.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.
propertyNameA case-sensitive string that specifies the name of the property being checked.

Returns

A double containing the minimum permitted value of the named property in the specified device. Returns 0 if no minimum value is defined for the property. Returns an error if the property does not exist or is of a non-numeric type.

See Also

MMI_GetDevicePropertyList, MMC_GetPropertyLowerLimit, MMC_GetPropertyUpperLimit

MMC_GetPropertyUpperLimit (deviceLabel, propertyName)

Returns the maximum permitted value of the named numeric property of the specified device.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.
propertyNameA case-sensitive string that specifies the name of the property being checked.

Returns

A double containing the maximum permitted value of the named property in the specified device. Returns 0 if no maximum value is defined for the property. Returns an error if the property does not exist or is of a non-numeric type.

See Also

MMI_GetDevicePropertyList, MMC_GetPropertyLowerLimit, MMC_GetPropertyUpperLimit

MMC_SetProperty /Q /Z /FREE /F=floatValue /I=integerValue /S=stringValue deviceLabel, propertyName

Sets the specified value into the named property of the specified device.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/FREEWhen the /FREE flag is omitted, MMI automatically compares a passed numeric value to the property's minimum and maximum permitted values, if they are available from Micro-Manager. If the passed value is outside the limits set by the minimum and maximum values, MMI reports an error and returns without attempting to assign the value to the property. By setting the /FREE flag, MMI assigns the passed numeric value to the property without performing (i.e. 'free of') any bounds checking on the value passed. If the passed value is outside the permitting limits, Micro-Manager returns an error and leaves the property with its previous value.
/F = floatValueUsed to set the value of numeric properties that accept floating-point (non-integer) values.
/I = integerValueUsed to set the value of numeric properties that accept only integer values.
/S = stringValueUsed to set the value of properties that accept only string values.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.
propertyNameA case-sensitive string that specifies the name of the property whose value is being assigned.

Details

It is important to note that many numeric properties do not provide explicit minimum and maximum limits. Thus when assigning numeric property values without the /FREE flag, MMI attempts to check the proposed value against Micro-Manager's limits for that property, but if no such limits are available, MMI attempts to assign the proposed value to the property without checks, as if the /FREE flag were set. Users should consider using the /Q and /Z flags to manage MMI's reporting of the errors that may result.

See Also

MMI_GetDevicePropertyList, MMC_GetPropertyNumeric, MMC_GetPropertyString

MMC_GetTimeoutMs ( )

Returns Micro-Manager's timeout period.

Parameters

None.

Returns

A numeric value reporting Micro-Manager's internal time-out setting, as an integer number of milliseconds (1 millisecond = 0.001 second).

See Also

MMC_SetTimeOutMs

MMC_SetTimeoutMs /Q /Z timeOutValue

Sets Micro-Manager's timeout period.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

timeOutValueA numeric expression specifying the new timeout value, as a positive integer number of milliseconds (1 millisecond = 0.001 second). The value is passed to Micro-Manager as a signed, 32-bit integer. Hence the maximum permitted value is 231 - 1 = 2,147,483,647.

See Also

MMC_GetTimeOutMs

Management of 'current' Device for Specific Roles

MMC_GetCameraDevice ( )

Returns a string containing the Micro-Manager label for the currently selected camera.

Parameters

None.

Returns

A string containing the case-sensitive label for the currently selected camera, or an empty string if none is currently selected.

See Also

MMC_SetCameraDevice

MMC_SetCameraDevice /Q /Z deviceLabel

Sets the specified device as Micro-Manager's active camera.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.

See Also

MMC_GetCameraDevice, MMC_GetDeviceType

MMC_GetShutterDevice

Returns a string containing the Micro-Manager label for the currently selected shutter.

Parameters

None.

Returns

A string containing the case-sensitive label for the currently selected shutter, or an empty string if none is currently selected.

See Also

MMC_SetShutterDevice

MMC_SetShutterDevice /Q /Z deviceLabel

Sets the specified device as Micro-Manager's active shutter.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.

See Also

MMC_GetShutterDevice, MMC_GetDeviceType

MMC_GetFocusDevice

Returns a string containing the Micro-Manager label for the currently selected focus device.

Parameters

None.

Returns

A string containing the case-sensitive label for the currently selected focus device, or an empty string if none is currently selected.

See Also

MMC_SetFocusDevice

MMC_SetFocusDevice /Q /Z deviceLabel

Sets the specified device as Micro-Manager's active focus device.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.

See Also

MMC_GetFocusDevice, MMC_GetDeviceType

MMC_GetXYStageDevice

Returns a string containing the Micro-Manager label for the currently selected XY stage.

Parameters

None.

Returns

A string containing the case-sensitive label for the currently selected XY stage, or an empty string if none is currently selected.

See Also

MMC_SetXYStageDevice

MMC_SetXYStageDevice /Q /Z deviceLabel

Sets the specified device as Micro-Manager's active XY stage device.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.

See Also

MMC_GetXYStageDevice, MMC_GetDeviceType

MMC_GetAutoFocusDevice

Returns a string containing the Micro-Manager label for the currently selected auto-focus device.

Parameters

None.

Returns

A string containing the case-sensitive label for the currently selected auto-focus device, or an empty string if none is currently selected.

See Also

MMC_SetAutoFocusDevice

MMC_SetAutoFocusDevice /Q /Z deviceLabel

Sets the specified device as Micro-Manager's active autofocus device.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.

See Also

MMC_GetAutoFocusDevice, MMC_GetDeviceType

MMC_GetSLMDevice

Returns a string containing the Micro-Manager label for the currently selected spatial light modulator (SLM).

Parameters

None.

Returns

A string containing the case-sensitive label for the currently selected spatial light modulator (SLM), or an empty string if none is currently selected.

See Also

MMC_SetSLMDevice

MMC_SetSLMDevice /Q /Z deviceLabel

Sets the specified device as Micro-Manager's active spatial light modulator.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.

See Also

MMC_GetSLMDevice, MMC_GetDeviceType

MMC_GetGalvoDevice

Returns a string containing the Micro-Manager label for the currently selected galvanometer beam-steering device.

Parameters

None.

Returns

A string containing the case-sensitive label for the currently selected galvanometer beam-steering device, or an empty string if none is currently selected.

See Also

MMC_SetGalvoDevice

MMC_SetGalvoDevice /Q /Z deviceLabel

Sets the specified device as Micro-Manager's active galvanometer device.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case-sensitive label assigned to the device by a previous call to MMC_LoadDevice.

See Also

MMC_GetGalvoDevice, MMC_GetDeviceType

Image Acquisition

MMC_SnapImage /Q /Z /U /CLRO=colorOrder

Acquires one image from the active camera. If a wave is already bound for the acquisition of single images, the acquired image is also retrieved and written to the bound wave.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/UUnlock bound image wave, if needed, prior to moving the image-data into the wave. If the /U flag is omitted and the wave is locked, MMI will raise an error, as it will be unable to write the image into the wave.
/CLRO = colorOrderSetting the color-order flag overrides MMI's default color-ordering when moving the retrieved image to the destination wave. The color-order flag applies only when working with multi-layer color (ex. RGB, RGBA, BGR, BGRA) images and is ignored when working with grayscale (monochrome) images. colorOrder is a case-insensitive string of three or four characters where the first three characters are either "rgb" or "bgr". MMI currently ignores any fourth letter (ex. RGBA) in the string.

Details

If MMC_SnapImage is called when no wave is bound to receive the image, then the acquired image remains in Micro-Manager's internal image buffer until it is either retrieved to a wave by calling MMC_GetImage, or it is overwritten by another call to MMC_SnapImage.

See Also

MMC_GetImage, MMI_BindImageWave, MMC_SetCameraDevice, Working with Color Images

MMC_GetImage /Q /Z /CLRO=colorOrder [destinationWave]

Retrieves a single image, acquired by a previous call to MMC_SnapImage, and transfers that image to a wave.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/CLRO = colorOrderSetting the color-order flag overrides MMI's default color-ordering when moving the retrieved image to the destination wave. The color-order flag applies only when working with multi-layer color (ex. RGB, RGBA, BGR, BGRA) images and is ignored when working with grayscale (monochrome) images. colorOrder is a case-insensitive string of three or four characters where the first three characters are either "rgb" or "bgr". MMI currently ignores any fourth letter (ex. RGBA) in the string.

Parameters

destinationWaveThe optional name of a numeric wave that is to receive the acquired image. If an imageWave is specified, that wave (rather than any previously bound image-wave), receives the acquired image.

Details

If no imageWave is specified, the image is written to the wave specified by the most recent call to MMI_BindImageWave. If no imageWave is specified and no wave has been bound for the acquisition of single images, an error occurs.

If an Igor image-processor function has been specified by a previous call to MMI_BindImageProcessor, that function will be called after the image is written to the wave.

See Also

MMC_SnapImage, MMI_BindImageWave, MMI_BindImageProcessor, Working with Color Images

MMI_GrabImage /Q /Z /ORIG={row,column,layer,chunk} /CLRO=colorOrder [destinationWave]

Acquires a single image and writes it to a wave with finer control than MMC_GetImage. MMI_GrabImage enables you to acquire and store a series of images in a single Igor wave.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/ORIG = {row,column,layer,chunk}
An optional set of four integers that specify a vector to the image's origin within the destination wave. The origin defines where the first (top-, left-most) pixel of the acquired image is to be written. If the /ORIG flag is omitted, the acquired image is written to the wave with an origin vector of {0, 0, 0, 0}, i.e. with the top, left pixel of the image at the first row, column, layer and chunk.
/CLRO = colorOrderSetting the color-order flag overrides MMI's default color-ordering when moving the retrieved image to the destination wave. The color-order flag applies only when working with multi-layer color (ex. RGB, RGBA, BGR, BGRA) images and is ignored when working with grayscale (monochrome) images. colorOrder is a case-insensitive string of three or four characters where the first three characters are either "rgb" or "bgr". MMI currently ignores any fourth letter (ex. RGBA) in the string.

Parameters

destinationWaveThe optional name of a numeric wave that is to receive the acquired image. If an imageWave is specified, that wave (rather than any previously bound image-wave), receives the acquired image.

Details

If no imageWave is specified, the image is written to the wave specified by the most recent call to MMI_BindImageWave. If no destinationWave is specified and no wave has been bound for the acquisition of single images, an error occurs.

Recall that each row in the acquired image is written to a column in the destination wave. Thus when sizing a wave for side-by-side display of multiple images, be sure to set the number of columns in the wave to a multiple of the number of rows in the image, and the number of rows in the wave to a multiple of the number of columns in the image.

Similarly, recall that when working with multi-color (ex. RGB) images, each color plane is written to a separate layer in the destination wave.

See Also

MMC_SnapImage, MMC_GetImage, MMC_GetNumberOfComponents, MMI_BindImageWave, Images in Igor Waves, Working with Color Images

MMC_GetNumberOfComponents ( )

Returns the number of components (color channels) acquired by the active camera.

Parameters

None.

Returns

A real, numeric value containing the number of components (color channels) acquired by the active camera.

Details

MMC_GetNumberOfComponents returns 1 for monochromatic cameras and either 3 or 4 for color cameras that return RGB or RGBA images, respectively. Note too that MMI currently omits the A (alpha) component when transferring RGBA images to Igor's waves.

When MMI transfers a color image to a wave, each color component is written to a separate layer in the wave. Hence waves intended to hold RGB color images acquired via MMI should contain at least 3 layers.

See Also

Images in Igor Waves, MMI_GrabImage, Working with Color Images

MMC_GetExposure (cameraLabel)

Returns the exposure time (in milliseconds), of the specified camera.

Parameters

cameraLabelA string containing the case-sensitive Micro-Manager label of the specified camera. If the parameter is an empty string (""), then the function returns the exposure time of the currently active camera.

Returns

A real, numeric value containing the camera's exposure time, in milliseconds.

See Also

MMC_SetExposure

MMC_SetExposure /Q /Z /L=cameraLabel exposureTime

Sets the exposure time of the active camera.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/L = cameraLabelAn optional string containing the case-sensitive Micro-Manager label of the camera whose exposure time is to be set. If the /L flag is not specified, the specified exposure time is installed in the currently active camera.

Parameters

exposureTimeA numeric value that specifies the new exposure time (in milliseconds) that is to be applied to the specified camera.

Details

Each camera has its own range of valid exposure times. For most cameras, you can determine the range of valid exposure times by reviewing a list of the camera's properties, as reported by MMI_GetDevicePropertyList.

See Also

MMC_GetExposure, MMI_GetDevicePropertyList

MMC_SetROI /Q /Z /L=cameraLabel ROIwave

Sets the ROI (Region Of Interest) for the specified camera from the specified Igor wave.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/L = cameraLabelA string containing the case-sensitive Micro-Manager label of the camera whose ROI is to be set. If the /L flag is absent, the operation applies the ROI to the currently active camera.

Parameters

ROIwaveThe name of a real, numeric wave that holds the new specifications for the ROI.

Details

The ROI is specified as a sequence of four integers {x, y, xSize, ySize}, where x and y are the horizontal and vertical coordinates of the upper-left pixel in the region, and xSize and ySize are the horizontal and vertical sizes of the region.

If ROIwave is a one-dimensional wave, then the specification is taken from first four points along the ROW dimension. If ROIwave is a multi-dimensional wave, then the specification is taken from the first four points along the COLUMN dimension in ROW 0.

This scheme provides a flexible way to define an ROI: whether from a simple numeric wave or by using the description of an ROI returned by from a previous call to MMC_GetROI or MMC_GetMultiROI.

See Also

MMC_GetROI, MMC_GetMultiROI, Images in Igor Waves

MMC_GetROI /Q /Z /L=cameraLabel [destinationWave]

Returns a wave containing the ROI (Region Of Interest) for the specified camera.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/L = cameraLabelA string containing the case-sensitive Micro-Manager label of the camera whose ROI is to be returned. If the /L flag is omitted, the operation returns the ROI of the currently active camera.

Parameters

destinationWaveThe optional name of a real, numeric wave that is to receive the ROI. If no destination wave is specified, the operation writes the ROI description to a wave called W_camROIs in the MMI data folder. If a non-numeric wave by that name already exists in the MMI data folder, the operation creates a uniquely named wave within the MMI data folder and writes the ROI data to that wave.

Details

The destination wave is redimensioned to 1 row and 4 columns and the description of the active ROI is placed in the first 4 columns of the first row (row 0, columns 0 to 3). The description of the ROI is returned as a sequence of four integers x, y, xSize, ySize, specifying the x (horizontal) and y (vertical) coordinates of the upper-left pixel in the region, followed by the horizontal and vertical sizes of the region.

If successful, the operation writes the name of the wave receiving the ROI description to the variable S_MMIresult in the MMI data folder.

See Also

MMC_SetROI, MMC_GetMultiROI, Images in Igor Waves

MMC_ClearROI /Q /Z

Sets the ROI for the active camera to the camera's full sensor and if successful, resets the circular buffer, clearing any images it may have held.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

None.

See Also

MMC_SetROI, MMC_GetROI, MMC_GetMultiROI, Images in Igor Waves

MMC_IsMultiROISupported ( )

Reports whether the active camera supports the use of multiple simultaneous ROIs.

Parameters

None.

Returns

0The camera does not support multiple ROIs.
1The camera does support multiple ROIs.

See Also

MMC_GetMultiROI, MMC_SetMultiROI, MMC_IsMultiROIEnabled, Images in Igor Waves

MMC_IsMultiROIEnabled ( )

Reports whether the active camera is currently using multiple simultaneous ROIs.

Parameters

None.

Returns

0The camera is not currently using multiple ROIs.
1The camera is currently using multiple ROIs.

See Also

MMC_GetMultiROI, MMC_SetMultiROI, MMC_IsMultiROISupported, Images in Igor Waves

MMC_SetMultiROI /Q /Z ROIwave

Defines a set of ROIs to use in the active camera.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

ROIwaveThe name of a real, numeric wave that describes the set of ROIs to be applied to the active camera.

Details

ROIwave must have at least 2 dimensions (ROWS and COLUMNS) and must have at least one row and four columns. If ROIwave contains multiple layers or chunks, only the first layer in the first chunk (LAYER = 0, CHUNK = 0), is read. Each row is interpreted as containing the description of one ROI, as a sequence of four integers in columns 0, 1, 2, and 3. The sequence is interpreted as x, y, xSize, and ySize, specifying the x (horizontal) and y (vertical) coordinates of the upper-left pixel in the region, followed by the horizontal and vertical sizes of the region.

See Also

MMC_GetMultiROI, MMC_IsMultiROISupported, MMC_IsMultiROIEnabled, Images in Igor Waves

MMC_GetMultiROI /Q /Z [ROIwave]

Returns a wave describing the set of ROIs in use in the active camera.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

ROIwaveThe optional name of a real, numeric wave that is to receive the list of ROIs. If no destination wave is specified, the operation writes the ROI descriptions to a wave called W_camROIs in the MMI data folder. If a non-numeric wave already exists by that name in the MMI data folder, the operation creates a uniquely named wave within the MMI data folder and writes the ROI data to that wave.

Details

The destination wave is redimensioned to n rows and 4 columns where n is the number of ROIs currently set for the camera. The description of each ROI in the set is placed in the first 4 columns of consecutive rows (columns 0 to 3, in rows 0 to n-1). The description of each ROI is stored as a sequence of four integers x, y, xSize, ySize, specifying the x (horizontal) and y (vertical) coordinates of the upper-left pixel in the region, followed by the horizontal and vertical sizes of each region.

If successful, the operation also writes the name of the wave receiving the ROI descriptions to the variable S_MMIresult in the MMI data folder.

See Also

MMC_SetMultiROI, MMC_IsMultiROISupported, MMC_IsMultiROIEnabled, Images in Igor Waves

MMC_GetImageHeight ( )

Returns the vertical size (i.e. number of rows) of the image buffer, in pixels.

Parameters

None.

Returns

A numeric value containing the integer height of one frame in the image-buffer, in pixels.

See Also

MMC_GetImageWidth, Images in Igor Waves

MMC_GetImageWidth ( )

Returns the horizontal size (i.e. number of columns) of the image buffer, in pixels.

Parameters

None.

Returns

A numeric value containing the integer width of one frame in the image-buffer, in pixels.

See Also

MMC_GetImageHeight, Images in Igor Waves

MMC_GetImageBitDepth ( )

Returns the number of bits used to encode the intensity of each image pixel coming from the active camera.

Parameters

None.

Returns

A numeric value containing the integer number of bits used to encode the intensity of each pixel returned by the active camera.

Details

If the camera returns multiple color planes (ex. RGB or RGBA images), the returned value represents the bit-depth of each individual color-plane, not the aggregate bit-depth of all of the color-planes.

See Also

MMC_GetNumberOfComponents, https://micro-manager.org/apidoc/MMCore/latest/class_c_m_m_core.html

MMC_SetAutoShutter /Q /Z newState

Enables or disables automatic opening and closing of the active shutter when images are acquired.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

newStateA numeric value, either 0 or 1 where:
0 =disable automatic operation of the shutter
1 =enable automatic operation of the shutter

See Also

MMC_SetShutterDevice, MMC_SetShutterOpen

MMC_SetShutterOpen /Q /Z /L=shutterLabel newState

Enables or disables automatic opening and closing of the active shutter when images are acquired.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/L = shutterDeviceSpecifies the chosen shutter by a string containing the shutter's case-sensitive Micro-Manager device-label. If the /L flag is omitted, the operation sets the state of the currently active shutter.

Parameters

newStateA numeric value, either 0 or 1 where 0 indicates the shutter should be closed (i.e. Open is False), and 1 indicates the shutter is to be opened (Open is True).

See Also

MMC_SetShutterDevice, MMC_SetAutoShutter

MMC_InitializeCircularBuffer /Q /Z

Resets the circular buffer, based on the size of images expected from the active camera.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Details

Micro-Manager's circular buffer is also initialized when an ROI is specified or changed.

See Also

MMC_GetCircularBufferSize, MMC_SetCircularBufferSize, MMC_ClearCircularBuffer

MMC_ClearCircularBuffer /Q /Z

Clears the contents of Micro-Manager's circular buffer, erasing any images that may be present.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Details

Micro-Manager's circular buffer is also cleared when an ROI is changed and when a acquisition-sequence is started.

See Also

MMC_GetCircularBufferSize, MMC_SetCircularBufferSize, MMC_InitializeCircularBuffer, MMC_StartSequenceAcquisition

MMC_GetCircularBufferSize ( )

Returns a numeric value reporting the amount of memory (in MB) has been allocated to Micro-Manager's circular buffer.

Parameters

None.

Returns

A numeric value reporting the size of the circular buffer, as an integer number of MB.

See Also

MMC_SetCircularBufferSize, MMC_InitializeCircularBuffer, MMC_ClearCircularBuffer

MMC_SetCircularBufferSize /Q /Z BuffSizeInMB

Sets the size of Micro-Manager's Circular Buffer, in MB.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

BuffSizeInMBA integer value specifying, in MB, the new size of Micro-Manager's Circular Buffer.

See Also

MMC_GetCircularBufferSize, MMC_InitializeCircularBuffer, MMC_ClearCircularBuffer

MMC_IsSequenceRunning ( )

Returns a numeric value indicating whether Micro-Manager is currently executing a sequential acquisition.

Parameters

None.

Returns

A numeric value containing the integer number of bits used to encode the intensity of each pixel returned by the active camera.

Details

If the camera returns multiple color planes (ex. RGBA), the returned value represents the bit-depth of each individual color-plane, not the aggregate bit-depth of all of the color-planes.

"This value should be used only as a guideline - it does not guarantee that image buffer will contain only values from the returned dynamic range." [From Micro-Manager API.]

See Also

https://micro-manager.org/apidoc/MMCore/latest/class_c_m_m_core.html

MMC_PrepareSequenceAcquisition /Q /Z /L=cameraLabel

Prepares the camera for starting a sequential acquisition.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/L = cameraLabelAn optional string containing the case-sensitive Micro-Manager label of the specified camera. If the /L flag is omitted, then the operation prepares the currently active camera for sequential acquisition.

See Also

MMC_StartSequenceAcquisition, MMC_StopSequenceAcquisition

MMC_StartSequenceAcquisition /Q /Z /N=imageCount /A /O /CLRO=colorOrder /MD=mode /I=imageInterval

Launches a sequential acquisition.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/N = imageCountSpecifies the number of images to be acquired in the sequence. If omitted, MMI starts acquisition of a continuous sequence, overwriting the previous image as each new image is acquired.
/A(Valid only when used together with /N flag.) 'Append' mode instructs MMI to append acquired images to the bound streaming wave, rather than overwriting the previously acquired image. MMI appends acquired images as either consecutive layers (in the case of 2d images), or as consecutive chunks (in the case of 3d images, such as RGB or RGBA).
/O'Overflow' instructs Micro-Manager to stop acquisition if its circular buffer fills.
/CLRO = colorOrderSetting the color-order flag overrides MMI's default color-ordering when moving the retrieved image to the destination wave. The color-order flag applies only when working with multi-layer color (ex. RGB, RGBA, BGR, BGRA) images and is ignored when working with grayscale (monochrome) images. colorOrder is a case-insensitive string of three or four characters where the first three characters are either "rgb" or "bgr". MMI currently ignores any fourth letter (ex. RGBA) in the string.
/MD = modeSpecifies how MMI should handle the metadata for each acquired image. Modes 1 and 2 are valid only if a text wave was specified to receive the metadata, via a previous call to MMI_BindMetaDataWave.
mode = 0Do not save metadata for acquired images.
This is the default case and is equivalent to omitting the/MD flag.
mode = 1Save only the metadata for the most recently acquired image.
mode = 2Save the metadata for each image as it is acquired.
The metadata for each acquired image are appended as consecutive layers to the bound metadata wave. Applicable only when /A and /N flags are also specified.
/ISpecifies the interval (in milliseconds) between acquisition of consecutive images. If omitted, the interval is set to the current exposure time of the current camera.

Details

This operation must be preceded by a call to MMI_BindSequenceWave to notify MMI which wave is to receive the incoming image stream.

See Also

MMI_BindSequenceWave, MMI_BindMetaDataWave, MMC_StopSequenceAcquisition, MMC_SetCircularBufferSize, Working with Color Images

MMC_StopSequenceAcquisition /Q /Z /W /L=cameraLabel /TO=timeOut

Halts a previously started sequential acquisition.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/W'Wait' mode instructs MMI to monitor Micro-Manager (for up to 5 seconds), after issuing the 'stop sequence acquisition' command, and not to return to Igor until Micro-Manager reports that sequential acquisition is no longer running. If Micro-Manager fails to report the of sequential acquisition within the 5 second window, MMI returns a time-out error, MMIERR_MMTIMEOUT.
/L = cameraLabelSpecifies the Micro-Manager label of the camera whose sequential acquisition is to be halted. MMI currently supports acquisition from only one camera at a time.
/TO = timeOutSpecifies the maximum amount of time, in seconds, that MMI should wait for Micro-Manager to halt acquisition. MMI uses the timeOut specification only when the /W (wait) flag is also specified. The timeOut parameter must be between 0 and 2,147,483 seconds. If no timeOut period is specified, the default is 5 seconds.

See Also

MMC_StartSequenceAcquisition, MMC_IsSequenceRunning

MMI_BindImageWave /Q /Z /U imageWave

Defines which wave is to receive single acquired images.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/UUnlock wave, if needed, prior to assigning it for sequential acquisition. If the /U flag is omitted and the wave is locked, MMI will raise an error, as it will be unable to adjust the wave's data-type or dimensions to match the image expected from the camera.

Parameters

imageWaveThe real, numeric wave which is to receive the images. Free waves may not be bound as image waves.

Details

If imageWave is not large enough to accept one frame from the currently active camera, MMI_BindImageWave attempts to redimension the wave to accept one frame. If imageWave is larger than one frame, its dimensions are not changed. The same wave may be bound by both MMI_BindImageWave and MMI_BindSequenceWave.

Calling MMI_BindImageWave tells Igor that the wave is 'in use', in the same way a wave is 'in use' when it is displayed in a graph or a table. Accordingly, such a bound wave cannot be deleted until it is released by a subsequent call to MMI_ReleaseImageWave or MMI_Reset.

See Also

MMI_ReleaseImageWave, MMC_SnapImage, MMI_GrabImage, MMI_BindSequenceWave

MMI_ReleaseImageWave /Q /Z

Releases a wave previously bound for acquiring single images.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Details

No error occurs when MMI_ReleaseImageWave is called if MMI_BindImageWave has not yet been called, or if no image-wave is currently bound.

See Also

MMI_BindImageWave, MMI_BindSequenceWave

MMI_BindSequenceWave /Q /Z /F /U sequenceWave

Defines which wave is to receive sequentially acquired (streamed) images.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/F'Freeze' wave dimensions as they are, preventing MMI from adjusting the wave's dimensions to accept exactly one frame (image) from the currently assigned camera. This flag is useful if you have prepared a wave to accept multiple images, ex. in preparing to call MMC_StartSequenceAcquisition with the /A (Append) flag.
/UUnlock wave, if needed, prior to assigning it for sequential acquisition. If the /U flag is omitted and the wave is locked, MMI will raise an error, as it will be unable to adjust the wave's data-type or dimensions to match the images expected from the camera.

Parameters

sequenceWaveThe numeric wave which is to receive the sequence (stream) of images. MMI resets the numeric type and the dimensions of the wave to match the size of the images expected from the active camera. Free waves may not be bound as sequence waves.

Details

The same wave may be bound for both snapping single images and for sequential (streaming) acquisition, by specifying the same wave when calling MMI_BindImageWave and MMI_BindSequenceWave.

Calling MMI_BindSequenceWave tells Igor that the wave is 'in use', in the same way a wave is 'in use' when it is displayed in a graph or a table. Accordingly, such a bound wave cannot be deleted until it is released by a subsequent call to MMI_ReleaseSequenceWave or MMI_Reset.

See Also

MMI_ReleaseSequenceWave, MMC_StartSequenceAcquisition, MMC_StopSequenceAcquisition

MMI_ReleaseSequenceWave /Q /Z

Releases a wave previously bound for acquiring image-sequences.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Details

No error occurs when MMI_ReleaseSequenceWave is called if MMI_BindSequenceWave has not yet been called, or if no sequence-wave is currently bound.

See Also

MMI_BindSequenceWave, MMI_ReleaseImageWave

MMI_DoUpdate /Q /Z

Checks if the bound sequence-wave has been updated by acquisition of a new image and immediately calls DoUpdate if the wave has been updated.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Details

If you run an Igor function while MMI is running a sequential acquisition, Igor does not pre-empt your Igor function to give MMI an opportunity to mark its bound sequence-wave as modified. In this circumstance, MMI will not be able to alert Igor about the modified sequence-wave until your code gives MMI that opportunity. You have several coding options to give MMI a chance to check for changes in the sequence-wave.

The simplest option is for your code to call DoXOPIdle, which gives all running XOPs a chance to run. This may however suspend your code for more time than desirable. Your second, more focused option is to call MMI_DoUpdate. This function asks MMI to call DoUpdate only if the sequence-wave has been modified. Calling MMI_DoUpdate permits your code to bypass other XOPs (if any) from running their IDLE event processing. Your third and even more focused option is to call MMI_GetUpdateState, which will report whether MMI's sequence-wave has been modified, without automatically calling DoUpdate. The value returned by MMI_GetUpdateState allows your code to decide which, if any, windows to update and when to do so, based on your requirements.

See Also

MMI_GetUpdateState, DoUpdate, DoXOPidle

MMI_GetUpdateState ( )

Returns a numeric value; zero if the sequence-wave has not been updated since the last call, or a non-zero value if the sequence-wave has been updated. This function does not call DoUpdate, leaving to the caller all decisions about which windows to update and when to update them.

Parameters

(None)

Details

If you run an Igor function while MMI is running a sequential acquisition, Igor does not pre-empt your Igor function to give the MMI XOP an opportunity to mark its bound sequence-wave as modified. In this circumstance, MMI will not be able to alert Igor about the modified sequence-wave until your code gives MMI that opportunity. You have several coding options to give the MMI XOP a chance to check for changes in the sequence-wave.

The simplest option is for your code to call DoXOPIdle, which gives all running XOPs a chance to run. This may however suspend your code for more time than desirable. Your second, more focused option is to call MMI_DoUpdate. It calls only the MMI XOP, asking it to call DoUpdate only if the sequence-wave has been modified. Calling MMI_DoUpdate permits your code to bypass other XOPs (if any) from running their IDLE event processing. Your third and yet more focused option is to call MMI_GetUpdateState, which will report whether the sequence-wave has been modified, without automatically calling DoUpdate. The value returned by MMI_GetUpdateState allows your code to decide which, if any, windows to update and when to do so, based on your requirements.

See Also

MMI_DoUpdate, DoUpdate, DoXOPidle

MMI_BindImageProcessor /Q /Z functionName

Defines a user-provided Igor function which MMI will call after acquisition of each single (non-streaming) image.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

functionNameA string containing the name of the user-provided Igor function that is to be called each time an image is acquired.

Details

The named function must accept five parameters, and must return a real, double-precision value, as shown here. The function should return 0 under normal circumstances and return other values only to report errors.

Function MyImageProcessor (wave imgWave, variable OffRow, variable OffCol, variable OffLayer, variable OffChunk)
<insert your processing code here>
return 0
End

The function's first parameter must be a reference to a numeric wave. When MMI calls the specified function, this parameter will contain a reference to the wave that received the newly acquired image.

The function's second through fifth parameters indicate where in the recipient wave the newly acquired image was stored. When the recipient wave holds only one image, these parameters will all be zero. If, however, multiple images are being acquired into a single wave via calls to MMI_GrabImage, then the parameters form a vector within the wave to the origin (top, left corner) of the newly acquired image.

To halt MMI calls to the bound function upon acquisition of single images, call the operation MMI_ReleaseImageProcessor.

See Also

MMI_ReleaseImageProcessor, MMC_SnapImage, MMI_GrabImage, MMC_GetImage

MMI_ReleaseImageProcessor /Q /Z

Instructs MMI to stop calling the user-provided Igor function previously defined for execution following acquisition of each single image.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Details

No error occurs when MMI_ReleaseImageProcessor is called if MMI_BindImageProcessor has not yet been called, or if no function is currently bound.

See Also

MMI_BindImageProcessor

MMI_BindSequenceProcessor /Q /Z functionName

Tells MMI which user-provided function is to be called to process images relayed to Igor during sequential acquisition.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

functionNameA string containing the name of the user-provided Igor function used to process images acquired during sequential acquisition.

Details

The named function must accept five parameters, and must return a real, double-precision value, as shown here. The function should return 0 under normal circumstances and return other values only to reprot errors.

Function MySequenceProcessor (wave imgWave, variable OffRow, variable OffCol, variable OffLayer, variable OffChunk)
<insert your processing code here>
return 0
End

The function's first parameter must be a reference to a numeric wave. When MMI calls the specified function, this parameter will contain a reference to the wave that received the newly acquired image.

The function's second through fifth parameters indicate where in the recipient wave the newly acquired image was stored. When the recipient wave holds only one image, these parameters will all be zero. If, however, multiple images are being acquired into a single wave via calls to MMI_GrabImage, then the parameters form a vector within the wave to the origin (top, left corner) of the newly acquired image.

To halt MMI calls to the bound function upon acquisition of sequential images, call the operation MMI_ReleaseSequenceProcessor.

Note that MMI calls the specified processor-function as part of its response to the 'IDLE message' sent from Igor. This design carries several important implications, especially when acquiring sequentially at high-frame rates.

The sequence processor cannot process frames at rates faster than the rate at which MMI receives IDLE messages from Igor. Thus MMI cannot guarantee that the processor function will be able to process every frame acquired by Micro-Manager. You may want to consider carefully adjusting the frequency with which Igor passes the IDLE message to MMI to help 'tune' performance of your processor function. See help on Igor's SetIdlePeriod operation for more details.

The processor-function runs on Igor's main thread, which is blocked from performing other tasks while the processor function is running. Thus while your processor function is running, Igor cannot update other windows nor respond to user input from the mouse or keyboard. Further, if the sequence processor-function hangs or falls into an infinite loop, Igor will hang.

Because the processor-function operates directly on the wave bound for receiving sequentially acquired images, that wave is unavailable to receive new images so long as the processor function is running. In other words, MMI cannot receive new sequential images from Micro-Manager so long as the processor-function is running.

MMI provides the SequenceRelayDivisor mechanism to throttle the rate at which incoming sequential images are relayed to Igor's bound wave, and thus the rate at which the sequential-processor function is called. See MMI_SetSequenceRelayDivisor and MMI_GetSequenceRelayDivisor for more details.

See Also

MMI_ReleaseSequenceProcessor, MMI_SetSequenceRelayDivisor, SetIdlePeriod

MMI_ReleaseSequenceProcessor /Q /Z

Tells MMI that no user-provided function is to be called to process images acquired during sequential acquisition.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

See Also

MMI_BindSequenceProcessor

MMI_BindMetaDataWave /Q /Z /U metaDataWave

Defines a user-provided Igor text wave into which MMI will write the meta-data of sequentially acquired images.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/UUnlock wave, if needed, prior to assigning it for sequential acquisition. If the /U flag is omitted and the wave is locked, MMI will raise an error, as it will be unable to adjust the wave's dimensions to match the number of images expected from the camera.

Parameters

metaDataWaveThe text wave which is to receive the meta-data for sequentially-acquired images. Free waves may not be bound as meta-data waves.

Details

The meta-data 'mode' dictates which images' meta-data are saved to the wave, and is set by the /MD flag when calling MMC_StartSequenceAcquisition. If metadata are to be saved, then MMI_BindMetaDataWave must be called before MMC_StartSequenceAcquisition.

Calling MMI_BindMetaDataWave tells Igor that the wave is 'in use', in the same way a wave is 'in use' when it is displayed in a graph or a table. Accordingly, such a bound wave cannot be deleted until it is released by a subsequent call to MMI_ReleaseMetaDataWave or MMI_Reset.

See Also

MMI_ReleaseMetaDataWave, MMC_StartSequenceAcquisition

MMI_ReleaseMetaDataWave /Q /Z

Releases a wave previously bound for acquiring metadata for image-sequences.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Details

No error occurs when MMI_ReleaseMetaDataWave is called if MMI_BindMetaDataWave has not yet been called, or if no metadata wave is currently bound.

See Also

MMI_BindMetaDataWave

MMI_WaitForSequenceCompletion /Q /Z /I=intervalMS /T=timeoutSecs

Waits until Micro-Manager has no sequential-acquisition underway.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.
/I = intervalMSSpecifies how long (in milliseconds) the operation should sleep between checking if a sequential acquisition is underway. If no user-defined interval is defined, MMI will use a default interval of 5 ms between checks.
/T = timeOutSecsSpecifies the time-out period in seconds, i.e. the maximum period of time the operation should continue checking for sequential acquisition to stop. If sequential acqusition has not halted by the end of the time-out period, the operation will return an error code. If no time-out interval is specified, the operation will wait indefinitely. See warnings below.

Details

caution

Call this operation with care! This operation runs on Igor's main user-thread and can lock that thread, freezing Igor's user-interface, especially if a long time-out period (or none) is defined. Consider instead calling the function MMC_IsSequenceRunning from your own Igor procedure.

See Also

MMC_IsSequenceRunning

State Device Control

MMC_GetState (deviceLabel)

Returns the current numeric state of the specified state-device.

Parameters

deviceLabelA string containing the case sensitive Micro-Manager label assigned to the specified state-device.

Returns

A real, numeric value containing the operational state of the specified device.

See Also

MMC_LoadDevice, MMC_SetState, MMC_SetStateLabel

MMC_DefineStateLabel /Q /Z deviceLabel, stateID, stateLabel

Defines a state-label (a string) for the specified state of the specified device.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case sensitive Micro-Manager label assigned to the specified state-device.
stateIDA real, numeric value specifying the operational state to be linked to the string specified by stateLabel.
stateLabelA string containing the case sensitive Micro-Manager label linked to the operational state identified by stateID.

Details

The specified stateLabel can provide a convenient or user-friendly nickname for the operational state specified by the often more abstract numeric stateID.

See Also

MMC_GetState, MMC_SetStateLabel

MMC_SetState /Q /Z deviceLabel, newStateID

Sets the operational state of the specified device using the specified numeric identifier.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case sensitive Micro-Manager label assigned to the specified state-device.
newStateIDA real, numeric value specifying the chosen operational state of the device.

Details

The specified stateLabel can provide a convenient or user-friendly nickname for the operational state specified by the often more abstract numeric stateID.

See Also

MMC_GetState, MMC_SetStateLabel

MMC_SetStateLabel /Q /Z deviceLabel, newStateLabel

Sets the operational state of the specified device using the specified label-string.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case sensitive Micro-Manager label assigned to the specified state-device.
newStateLabelA string specifying the state-label assigned to the chosen operational state for this device.

Details

The specified stateLabel can provide a convenient or user-friendly nickname for the operational state specified by the often more abstract numeric stateID.

See Also

MMC_GetState, MMC_DefineStateLabel, MMC_SetState

Hub and Peripheral Devices

MMC_GetParentLabel (childLabel)

Identifies the 'parent' of a Micro-Manager device by returning the label of the parent-device.

Parameters

deviceLabelA string containing the case sensitive Micro-Manager label assigned to the device whose parent-device is sought.

Returns

A string containing the case-sensitive Micro-Manager label of the device previously set as the parent of the specified device.

See Also

MMC_SetParentLabel

MMC_SetParentLabel /Q /Z deviceLabel, parentLabel

Sets the parent hub of the specified device, linking the device to the specified hub.

Flags

/Q'Quiet' mode instructs MMI not to write internal errors to the history area.
/Z'Suppress' mode instructs MMI to return normally to Igor, even when an error occurs. When the /Z flag is used, it is left to the user to check for errors, reported by non-zero values in the numeric variable V_MMIresult. If an error occurs, an error message is written to the global string variable S_MMIresult.

Parameters

deviceLabelA string containing the case sensitive Micro-Manager label assigned to the device whose parent-device is being set.
parentHubLabelA string containing the case sensitive Micro-Manager label assigned to the parent-device.

See Also

MMC_GetParentLabel