pyobs-fli

This is a pyobs (documentation) module for FLI cameras.

Example configuration

This is an example configuration, tested on a FLI 230PL:

class: pyobs_fli.FliCamera

# filename pattern
filenames: /cache/pyobs-ef01-{DAY-OBS|date:}-{FRAMENUM|string:04d}-{IMAGETYP|type}00.fits

# cooling
setpoint: -20.0

# additional fits headers
fits_headers:
  'DET-PIXL': [0.015, 'Size of detector pixels (square) [mm]']
  'DET-NAME': ['E2V 230-42 Bi BBAR', 'Name of detector']
  'DET-GAIN': [1.83, 'Detector gain [e-/ADU]']
  'DET-RON': [12.1, 'Detector readout noise [e-]']
  'DET-SATU': [117767, 'Detector saturation limit [e-]']

# opto-mechanical centre
centre: [1115.5, 1047.5]

# rotation (east of north)
rotation: -2.98

# location
timezone: utc
location:
  longitude: 9.944333
  latitude: 51.560583
  elevation: 201.

# communication
comm:
  jid: test@example.com
  password: ***

# virtual file system
vfs:
  class: pyobs.vfs.VirtualFileSystem
  roots:
    cache:
      class: pyobs.vfs.HttpFile
      upload: http://localhost:37075/

Available classes

There is one single class for FLI cameras.

AsiCamera

class FliCamera(setpoint: float = -20.0, keep_alive_ping: int = 10, **kwargs: Any)

Bases: BaseCamera, ICamera, IWindow, IBinning, ICooling, IAbortable

A pyobs module for FLI cameras.

Initializes a new FliCamera.

Parameters:
  • setpoint – Cooling temperature setpoint.

  • keep_alive_ping – Interval in seconds to ping camera.

async close() None[source]

Close the module.

async get_binning(**kwargs: Any) Tuple[int, int][source]

Returns the camera binning.

Returns:

Tuple with x and y.

async get_cooling(**kwargs: Any) Tuple[bool, float, float][source]

Returns the current status for the cooling.

Returns:

Enabled (bool): Whether the cooling is enabled SetPoint (float): Setpoint for the cooling in celsius. Power (float): Current cooling power in percent or None.

Return type:

Tuple containing

async get_full_frame(**kwargs: Any) Tuple[int, int, int, int][source]

Returns full size of CCD.

Returns:

Tuple with left, top, width, and height set.

async get_temperatures(**kwargs: Any) Dict[str, float][source]

Returns all temperatures measured by this module.

Returns:

Dict containing temperatures.

async get_window(**kwargs: Any) Tuple[int, int, int, int][source]

Returns the camera window.

Returns:

Tuple with left, top, width, and height set.

async open() None[source]

Open module.

async set_binning(x: int, y: int, **kwargs: Any) None[source]

Set the camera binning.

Parameters:
  • x – X binning.

  • y – Y binning.

Raises:

ValueError – If binning could not be set.

async set_cooling(enabled: bool, setpoint: float, **kwargs: Any) None[source]

Enables/disables cooling and sets setpoint.

Parameters:
  • enabled – Enable or disable cooling.

  • setpoint – Setpoint in celsius for the cooling.

Raises:

ValueError – If cooling could not be set.

async set_window(left: int, top: int, width: int, height: int, **kwargs: Any) None[source]

Set the camera window.

Parameters:
  • left – X offset of window.

  • top – Y offset of window.

  • width – Width of window.

  • height – Height of window.

Raises:

ValueError – If binning could not be set.