slmsuite.hardware.cameras.flir.FLIR

class FLIR(serial='', verbose=True, **kwargs)[source]

Bases: Camera

FLIR camera.

sdk

Spinnaker SDK.

Type

PySpin.System

cam

Object to talk with the desired camera.

Type

PySpin.Camera

Methods

autoexposure

Sets the exposure of the camera such that the maximum value is at set_fraction of the dynamic range.

autofocus

Uses an FFT contrast metric to find optimal focus when scanning over some variable z.

close

See Camera.close().

flush

Abstract method to cycle the image buffer (if any) such that all new get_image() calls yield fresh frames.

get_exposure

See Camera.get_exposure().

get_image

See Camera.get_image().

get_images

Grab image_count images in succession.

info

Abstract method to load display information.

reset

Abstract method to reset the camera to a default state.

set_exposure

See Camera.set_exposure().

set_woi

See Camera.set_woi().

Attributes

sdk

__init__(serial='', verbose=True, **kwargs)[source]

Initialize camera and attributes.

Parameters
  • serial (str) – Serial number of the camera to open.

  • verbose (bool) – Whether or not to log.

  • kwargs – See Camera.__init__() for permissible options.

close(close_sdk=True)[source]

See Camera.close().

get_exposure()[source]

See Camera.get_exposure().

set_exposure(exposure_s)[source]

See Camera.set_exposure().

set_woi(window=None)[source]

See Camera.set_woi().

autoexposure(set_fraction=0.5, tol=0.05, exposure_bounds_s=None, window=None, average_count=5, timeout_s=5, verbose=True)[source]

Sets the exposure of the camera such that the maximum value is at set_fraction of the dynamic range. Useful for mitigating deleterious over- or under- exposure.

Parameters
  • set_fraction (float) – Fraction of camera dynamic range to target image maximum.

  • tol (float) – Fractional tolerance for exposure adjustment.

  • exposure_bounds_s ((float, float) OR None) – Shortest and longest allowable integration in seconds. If None, defaults to exposure_bounds_s. If this attribute was not set (or not availible on a particular camera), then None instead defaults to unbounded.

  • window (array_like or None) – See window. If None, the full camera frame will be used.

  • average_count (int) – Number of frames to average intensity over for noise reduction.

  • timeout_s (float) – Stop attempting to autoexpose after timeout_s seconds.

  • verbose (bool) – Whether to print exposure updates.

Returns

Resulting exposure in seconds.

Return type

float

autofocus(z_get, z_set, z_list=None, plot=False)[source]

Uses an FFT contrast metric to find optimal focus when scanning over some variable z. This z often takes the form of a vertical stage to position a sample precisely at the plane of imaging of a lens or objective. The contrast metric works particularly well when combined with a projected spot array hologram.

Parameters
  • z_get (lambda) – Gets the current position of the focusing stage. Should return a float.

  • z_set (lambda) – Sets the position of the focusing stage to a given float.

  • z_list (array_like or None) – z values to sweep over during search. Defaults (when None) to numpy.linspace(-4,4,16).

  • plot (bool) – Whether to provide illustrative plots.

flush(timeout_s=1)[source]

Abstract method to cycle the image buffer (if any) such that all new get_image() calls yield fresh frames.

Parameters

timeout_s (float) – The time in seconds to wait for frames to catch up with triggers.

get_image(blocking=True)[source]

See Camera.get_image().

Parameters

blocking (bool) – Whether to wait for the camera to return a frame, blocking other acquisition.

get_images(image_count, flush=False)[source]

Grab image_count images in succession. Overwrite this implementation if a camera supports faster batch acquisition.

Parameters
  • image_count (int) – Number of images to grab.

  • flush (bool) – Whether to flush before grabbing.

Returns

Array of shape (image_count, height, width).

Return type

numpy.ndarray

static info(verbose=True)[source]

Abstract method to load display information.

Parameters

verbose (bool) – Whether or not to print display information.

Returns

An empty list.

Return type

list

reset()[source]

Abstract method to reset the camera to a default state.