API Reference v9.1.0

ObjectiveChangerclass

Module: zaber_motion.microscopy

Represents an objective changer of a microscope. Unstable. Expect breaking changes in future releases. Requires at least Firmware 7.32.

The following example illustrates how you can obtain an instance of this type:

from zaber_motion.ascii import Connection
from zaber_motion.microscopy import Microscope

connection = Connection.open_serial_port('COM3')
microscope = Microscope.find(connection)
objective_changer = microscope.objective_changer
Related Guides:

Constructor

ObjectiveChanger(turret, focus_axis)
Creates instance of `ObjectiveChanger` based on the given device. If the device is identified, this constructor will ensure it is an objective changer.
Arguments
NameTypeDescription
turretDeviceDevice address of the turret.
focus_axisAxisThe focus axis.

Properties

p

focus_axis

readonly
objective_changer.focus_axis
Axis The focus axis.
p

turret

readonly
objective_changer.turret
Device Device address of the turret.

Methods

m

change()

async available
objective_changer.change(objective, focus_offset = None)
Changes the objective. Runs a sequence of movements switching from the current objective to the new one. The focus stage moves to the focus datum after the objective change.
Arguments
NameTypeDescription
objectiveintObjective number starting from 1.
focus_offsetOptional[Measurement]Optional offset from the focus datum.
m

get_current_objective()

async available
objective_changer.get_current_objective()
Returns current objective number starting from 1. The value of 0 indicates that the position is either unknown or between two objectives.
Return Value
int Current objective number starting from 1 or 0 if not applicable.
m

get_focus_datum()

async available
objective_changer.get_focus_datum(unit = Units.NATIVE)
Gets the focus datum. The focus datum is the position that the focus stage moves to after an objective change. It is backed by the limit.home.offset setting.
Arguments
NameTypeDescription
unitLengthUnitsUnits of datum.
Return Value
float The datum.
m

get_number_of_objectives()

async available
objective_changer.get_number_of_objectives()
Gets number of objectives that the turret can accommodate.
Return Value
int Number of positions.
m

release()

async available
objective_changer.release()
Moves the focus stage out of the turret releasing the current objective.
m

set_focus_datum()

async available
objective_changer.set_focus_datum(datum, unit = Units.NATIVE)
Sets the focus datum. The focus datum is the position that the focus stage moves to after an objective change. It is backed by the limit.home.offset setting.
Arguments
NameTypeDescription
datumfloatValue of datum.
unitLengthUnitsUnits of datum.
m

__repr__()

objective_changer.__repr__()
Returns a string that represents the device.
Return Value
str A string that represents the device.