public interface Microscope
extends java.rmi.Remote
Modifier and Type | Method and Description |
---|---|
void |
addConfigurationListener(MicroscopeConfigurationListener listener)
Adds a listener which gets informed if the configuration of the microscope changes.
|
void |
addMessageListener(MessageListener listener)
Adds a listener which gets informed when the state of the microscope
changes.
|
void |
applyDeviceSetting(DeviceSetting setting)
Sets the given device property to the given value.
|
void |
applyDeviceSettingAsync(DeviceSetting setting)
Sets the given device property to the given value.
|
void |
applyDeviceSettings(DeviceSetting[] settings)
Sets the given device properties to the given values.
|
void |
applyDeviceSettingsAsync(DeviceSetting[] settings)
Sets the given device properties to the given values.
|
void |
emergencyStop()
Stops the XY stage of the microscope and prevents ASAP any other thread
to obtain access to the microscope.
|
AutoFocusDevice |
getAutoFocusDevice()
Returns the current default auto-focus device.
|
AutoFocusDevice |
getAutoFocusDevice(java.lang.String deviceID)
Returns the auto-focus device with the given name.
|
AutoFocusDevice[] |
getAutoFocusDevices()
Returns a list of all installed auto-focus devices.
|
CameraDevice |
getCameraDevice()
Returns the current default camera device.
|
CameraDevice |
getCameraDevice(java.lang.String name)
Returns the camera device with the given name.
|
CameraDevice[] |
getCameraDevices()
Returns all currently installed camera devices.
|
ChannelManager |
getChannelManager()
Returns an interface with which the current channel settings can be queried and a different channel can be set.
|
Device |
getDevice(java.lang.String name)
Returns the device of this microscope with the given name.
|
DeviceLoader |
getDeviceLoader()
Returns a class with which the device driver settings of the microscope can be modified.
|
Device[] |
getDevices()
Returns a list of all devices of this microscope, or an empty list if this microscope does not have any devices.
|
Device[] |
getDevices(DeviceType type)
Returns a list of all devices of the given type, or an empty list if no such device is configured.
|
FocusDevice |
getFocusDevice()
Returns the current default focus device.
|
FocusDevice |
getFocusDevice(java.lang.String deviceID)
Returns the focus device with the given name.
|
FocusDevice[] |
getFocusDevices()
Returns a list of all installed focus devices.
|
java.lang.String |
getLastConfigurationWarning()
Returns the warning message generated and returned when loaded the last configuration, or null if no warning appeared.
|
MicroscopeConfiguration |
getMicroscopeConfiguration()
Returns an interface with which general configuration settings of the microscope can be changed.
|
PixelSizeManager |
getPixelSizeManager()
Returns an interface with which the pixel size for different microscope settings can be queried and set.
|
ShutterDevice |
getShutterDevice()
Returns the current default shutter device.
|
ShutterDevice |
getShutterDevice(java.lang.String deviceID)
Returns the shutter device with the given name.
|
ShutterDevice[] |
getShutterDevices()
Returns a list of all installed shutter devices.
|
StageDevice |
getStageDevice()
Returns the current default stage device.
|
StageDevice |
getStageDevice(java.lang.String deviceID)
Returns the stage device with the given name.
|
StageDevice[] |
getStageDevices()
Returns all installed stage devices.
|
StateDevice |
getStateDevice(java.lang.String name)
Returns the state device with the given name.
|
StateDevice[] |
getStateDevices()
Returns a list of all installed state devices.
|
boolean |
isEmergencyStopped()
Returns true if microscope is currently in the emergency-stop state.
|
java.lang.String |
loadConfiguration(RMIReader configurationReader)
Initializes the microscope with the configuration read from the reader (e.g.
|
void |
lockExclusiveWrite()
Locks the microscope for a longer time (e.g.
|
void |
removeConfigurationListener(MicroscopeConfigurationListener listener)
Removes a previously added listener
|
void |
removeMessageListener(MessageListener listener)
Removes a previously added listener.
|
void |
resetEmergencyStop()
Resets the emergency-stop state, such that microscope can be accessed
again.
|
void |
saveConfiguration(RMIWriter configurationWriter)
Writes the current microscope configuration to the supplied writer (e.g.
|
void |
setAutoFocusDevice(java.lang.String deviceID)
Sets the default auto-focus device.
|
void |
setCameraDevice(java.lang.String cameraDevice)
Sets the current default camera device.
|
void |
setFocusDevice(java.lang.String deviceID)
Sets the default focus device.
|
void |
setShutterDevice(java.lang.String deviceID)
Sets the default shutter device.
|
void |
setStageDevice(java.lang.String deviceID)
Sets the default stage device.
|
void |
uninitializeMicroscope()
Uninitializes the microscope.
|
void |
unlockExclusiveWrite()
Unlocks the previously acquired lock.
|
DeviceLoader getDeviceLoader() throws java.lang.UnsupportedOperationException, java.rmi.RemoteException
java.lang.UnsupportedOperationException
- If modifying device driver settings is not supported.java.rmi.RemoteException
MicroscopeConfiguration getMicroscopeConfiguration() throws java.rmi.RemoteException
java.rmi.RemoteException
Device[] getDevices() throws java.rmi.RemoteException
java.rmi.RemoteException
Device[] getDevices(DeviceType type) throws java.rmi.RemoteException
type
- Type of the devices to query for.java.rmi.RemoteException
Device getDevice(java.lang.String name) throws DeviceException, java.rmi.RemoteException
name
- Name of the device.DeviceException
- Thrown if the given device could not be found.java.rmi.RemoteException
AutoFocusDevice getAutoFocusDevice() throws DeviceException, java.rmi.RemoteException
DeviceException
java.rmi.RemoteException
AutoFocusDevice[] getAutoFocusDevices() throws java.rmi.RemoteException
java.rmi.RemoteException
AutoFocusDevice getAutoFocusDevice(java.lang.String deviceID) throws DeviceException, java.rmi.RemoteException
deviceID
- ID of the auto-focus device.DeviceException
java.rmi.RemoteException
FocusDevice getFocusDevice() throws DeviceException, java.rmi.RemoteException
DeviceException
java.rmi.RemoteException
FocusDevice[] getFocusDevices() throws java.rmi.RemoteException
java.rmi.RemoteException
FocusDevice getFocusDevice(java.lang.String deviceID) throws DeviceException, java.rmi.RemoteException
deviceID
- Name of focus device.DeviceException
java.rmi.RemoteException
void setFocusDevice(java.lang.String deviceID) throws DeviceException, MicroscopeLockedException, java.rmi.RemoteException
deviceID
- Name of focus device.DeviceException
MicroscopeLockedException
java.rmi.RemoteException
void setAutoFocusDevice(java.lang.String deviceID) throws DeviceException, MicroscopeLockedException, java.rmi.RemoteException
deviceID
- Name of auto-focus device.DeviceException
MicroscopeLockedException
java.rmi.RemoteException
void setShutterDevice(java.lang.String deviceID) throws DeviceException, MicroscopeLockedException, java.rmi.RemoteException
deviceID
- Name of shutter device.DeviceException
MicroscopeLockedException
java.rmi.RemoteException
ShutterDevice getShutterDevice() throws DeviceException, java.rmi.RemoteException
DeviceException
java.rmi.RemoteException
ShutterDevice[] getShutterDevices() throws java.rmi.RemoteException
java.rmi.RemoteException
ShutterDevice getShutterDevice(java.lang.String deviceID) throws DeviceException, java.rmi.RemoteException
deviceID
- Name of shutter device.DeviceException
java.rmi.RemoteException
StageDevice getStageDevice() throws DeviceException, java.rmi.RemoteException
DeviceException
java.rmi.RemoteException
StageDevice[] getStageDevices() throws java.rmi.RemoteException
java.rmi.RemoteException
StageDevice getStageDevice(java.lang.String deviceID) throws DeviceException, java.rmi.RemoteException
deviceID
- Name of stage device.DeviceException
java.rmi.RemoteException
void setStageDevice(java.lang.String deviceID) throws DeviceException, MicroscopeLockedException, java.rmi.RemoteException
deviceID
- Name of stage device.DeviceException
MicroscopeLockedException
java.rmi.RemoteException
CameraDevice getCameraDevice() throws DeviceException, java.rmi.RemoteException
DeviceException
java.rmi.RemoteException
void setCameraDevice(java.lang.String cameraDevice) throws DeviceException, MicroscopeLockedException, java.rmi.RemoteException
cameraDevice
- Name of the camera device which should be the default device.DeviceException
MicroscopeLockedException
java.rmi.RemoteException
CameraDevice[] getCameraDevices() throws java.rmi.RemoteException
java.rmi.RemoteException
CameraDevice getCameraDevice(java.lang.String name) throws DeviceException, java.rmi.RemoteException
name
- Name of the camera device.DeviceException
java.rmi.RemoteException
ChannelManager getChannelManager() throws java.rmi.RemoteException
java.rmi.RemoteException
PixelSizeManager getPixelSizeManager() throws java.rmi.RemoteException
java.rmi.RemoteException
void applyDeviceSetting(DeviceSetting setting) throws SettingException, MicroscopeLockedException, java.rmi.RemoteException, MicroscopeException, java.lang.InterruptedException
setting
- Structure containing device, property and value configuration.SettingException
MicroscopeLockedException
java.rmi.RemoteException
MicroscopeException
java.lang.InterruptedException
void applyDeviceSettings(DeviceSetting[] settings) throws SettingException, java.rmi.RemoteException, MicroscopeLockedException, MicroscopeException, java.lang.InterruptedException
settings
- Array of structures containing device, property and value
configurations.SettingException
java.rmi.RemoteException
MicroscopeLockedException
MicroscopeException
java.lang.InterruptedException
void applyDeviceSettingAsync(DeviceSetting setting) throws SettingException, MicroscopeLockedException, MicroscopeException, java.lang.InterruptedException, java.rmi.RemoteException
setting
- Structure containing device, property and value configuration.SettingException
MicroscopeLockedException
MicroscopeException
java.lang.InterruptedException
java.rmi.RemoteException
void applyDeviceSettingsAsync(DeviceSetting[] settings) throws SettingException, MicroscopeLockedException, MicroscopeException, java.lang.InterruptedException, java.rmi.RemoteException
settings
- Array of structures containing device, property and value
configurations.SettingException
MicroscopeLockedException
MicroscopeException
java.lang.InterruptedException
java.rmi.RemoteException
void lockExclusiveWrite() throws MicroscopeLockedException, java.rmi.RemoteException
MicroscopeLockedException
- Thrown if microscope is already locked for a longer time by
somebody else.java.rmi.RemoteException
void unlockExclusiveWrite() throws MicroscopeLockedException, java.rmi.RemoteException
MicroscopeLockedException
- Thrown if this microscope object is not the owner of the exclusive write lock.java.rmi.RemoteException
java.lang.String loadConfiguration(RMIReader configurationReader) throws MicroscopeConfigurationException, MicroscopeLockedException, java.rmi.RemoteException, java.lang.InterruptedException, MicroscopeException
configurationReader
- A reader to read in the configuration, e.g. a file reader.MicroscopeConfigurationException
MicroscopeLockedException
java.rmi.RemoteException
MicroscopeException
java.lang.InterruptedException
void saveConfiguration(RMIWriter configurationWriter) throws MicroscopeConfigurationException, java.rmi.RemoteException, MicroscopeLockedException
configurationWriter
- The writer to which the configuration should be written.MicroscopeConfigurationException
- Thrown if the configuration could not be generated.java.rmi.RemoteException
MicroscopeLockedException
java.lang.String getLastConfigurationWarning() throws java.rmi.RemoteException
java.rmi.RemoteException
void uninitializeMicroscope() throws MicroscopeException, MicroscopeLockedException, java.rmi.RemoteException, java.lang.InterruptedException
MicroscopeException
MicroscopeLockedException
java.rmi.RemoteException
java.lang.InterruptedException
void emergencyStop() throws java.rmi.RemoteException
java.rmi.RemoteException
void resetEmergencyStop() throws java.rmi.RemoteException
java.rmi.RemoteException
boolean isEmergencyStopped() throws java.rmi.RemoteException
java.rmi.RemoteException
void addMessageListener(MessageListener listener) throws java.rmi.RemoteException
listener
- The listener.java.rmi.RemoteException
void removeMessageListener(MessageListener listener) throws java.rmi.RemoteException
listener
- The listener.java.rmi.RemoteException
StateDevice getStateDevice(java.lang.String name) throws DeviceException, java.rmi.RemoteException
name
- Name of state device.DeviceException
java.rmi.RemoteException
StateDevice[] getStateDevices() throws java.rmi.RemoteException
java.rmi.RemoteException
void addConfigurationListener(MicroscopeConfigurationListener listener) throws java.rmi.RemoteException
listener
- Listener to add.java.rmi.RemoteException
void removeConfigurationListener(MicroscopeConfigurationListener listener) throws java.rmi.RemoteException
listener
- Listener to remove.java.rmi.RemoteException