objstage

Illumina HiSeq2500 :: Objective Stage

Uses commands found on hackteria

The objective can move between steps 0 and 65535, where step 0 is the closest to the stage. Each objective stage step is about 4 nm.

Examples:

#Create an objective stage objective
import pyseq
fpga = pyseq.fpga.FPGA('COM12','COM15')
fpga.initialize()
obj = pyseq.objstage.OBJstage(fpga)
#Initialize the objective stage
obj.initialize()
# Change objective velocity to 1 mm/s and move to step 5000
obj.set_velocity(1)
obj.move(5000)

Classes

OBJstage(fpga[, logger])

HiSeq 2500 System :: Objective Stage

class pyseq.objstage.OBJstage(fpga, logger=None)

HiSeq 2500 System :: Objective Stage

Attributes:
  • spum (int): The number of objective steps per micron.

  • v (float): The velocity the objective will move at in mm/s.

  • position (int): The absolute position of the objective in steps.

  • min_z (int): Minimum obj stage step position.

  • max_z (int): Maximum obj stage step position.

  • min_v (int): Minimum velocity in mm/s.

  • max_v (int): Maximum velocity in mm/s.

  • focus_spacing: Distance in microns between frames in an objective stack

  • focus_velocity (float): Velocity used for objective stack

  • focus_frames (int): Number of camera frames used for objective stack

  • focus_range (float): Percent of total objective range used for objective stack

  • focus_start (int): Initial step for objective stack.

  • focus_stop (int): Final step for objective stack.

  • focus_rough (int): Position used for imaging when focus position is not known.

  • logger (logger): Logger used for messaging.

check_position()

Return the absolute step position of the objective.

The objective can move between steps 0 and 65535, where step 0 is the closest to the stage. If the position of the objective can’t be read, None is returned.

Returns:
  • int: The absolution position of the objective steps.

command(text)

Send a command to the objective stage and return the response.

Parameters:
  • text (str): A command to send to the objective stage.

Returns:
  • str: The response from the objective stage.

initialize()

Initialize the objective stage.

move(position)

Move the objective to an absolute step position.

The objective can move between steps 0 and 65535, where step 0 is the closest to the stage. If the position is out of range, the objective will not move and a warning message is printed.

Parameters:
  • position (int): The step position to move the objective to.

set_focus_trigger(position)

Set trigger for an objective stack to determine focus position.

Parameters:
  • position (int): Step position to start imaging.

Returns:
  • int: Current step position of the objective.

set_velocity(v)

Set the velocity of the objective.

The maximum objective velocity is 5 mm/s. If the objective velocity is not in range, the velocity is not set and an error message is printed.

Parameters:
  • v (float): The velocity for the objective to move at in mm/s.

update_focus_limits(cam_interval=0.040202, range=90, spacing=4.1)

Update objective velocity and start/stop positions for focusing.

Parameters:
  • cam_interval (float): Camera frame interval in seconds per frame

  • range(float): Percent of total objective range to use for focusing

  • spacing (float): Distance between objective stack frames in microns.

Returns:
  • bool: True if all values are acceptable.

write_log(text)

Write messages to the log.