Module azcam.tools.focus

Contains the Focus class. This is a common version which may be used for server and console processes.

Classes

class Focus

Class for focusing a camera.

Either the telescope or instrument may be moved for focus adjustment. May be used as a server or client script. The focus sequence performed is:

  • expose
  • move focus
  • shift detector (2x last time)
  • (repeat above steps)
  • readout
  • return to starting focus position
  • save image

Create focus tool for server or console mode.

Ancestors

Instance variables

var description

Inherited from: Tools.description

descriptive tool name

var detector_shift

Number of rows to shift detector for each focus step

var enabled

Inherited from: Tools.enabled

1 when tool is enabled

var exposure_time

exposure time

var focus_component

focus component for motion - instrument or telescope

var focus_position

current focus position

var focus_step

Number of focus steps between each exposure in a frame

var focus_type

focus type, absolute or step

var initialized

Inherited from: Tools.initialized

1 when tool has been initialized

var is_reset

Inherited from: Tools.is_reset

1 when tool has been reset

var move_delay

delay in seconds between exposures

var number_exposures

Number of exposures in focus sequence

var set_pars_called

flag to not prompt when set_pars already called

var tool_id

Inherited from: Tools.tool_id

name used to reference the tool ("controller", "display", …)

var verbosity

Inherited from: Tools.verbosity

verbosity for debug, >0 is more verbose

Methods

def abort(self)

Abort focus exposure.

def initalize(self)

Initialize focus routine.

def initialize(self) ‑> None

Inherited from: Tools.initialize

Initialize the tool.

def reset(self)

Reset focus tool to default values.

def run(self, exposure_time: [] = 'prompt', number_exposures: [] = 'prompt', focus_step: [] = 'prompt', detector_shift: [] = 'prompt')

Execute the focus script. Parameters can be "prompt" or a value. If focus.set_pars() was previously called then those values are used and input here is ignored.

Args

number_exposures
Number of exposures in focus sequence.
focus_step
Number of focus steps between each exposure in a frame.
detector_shift
Number of rows to shift detector for each focus step.
exposuretime
Exposure time i seconds.
def save_keywords(self)

Save focus related keywords for image header.

def set_pars(self, exposure_time: float, number_exposures: int = 7, focus_step: float = 30, detector_shift: int = 10)

Set focus related parameters.

Args

number_exposures
Number of exposures in focus sequence.
focus_step
Number of focus steps between each exposure in a frame.
detector_shift
Number of rows to shift detector for each focus step.
exposuretime
Exposure time i seconds.