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
Sets the exposure of the camera such that the maximum value is at
set_fraction
of the dynamic range.Uses an FFT contrast metric to find optimal focus when scanning over some variable
z
.See
Camera.close()
.Abstract method to cycle the image buffer (if any) such that all new
get_image()
calls yield fresh frames.See
Camera.get_image()
.Grab
image_count
images in succession.Abstract method to load display information.
Abstract method to reset the camera to a default state.
See
Camera.set_woi()
.Attributes
- __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()
.
- 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 toexposure_bounds_s
. If this attribute was not set (or not availible on a particular camera), thenNone
instead defaults to unbounded.window (array_like or None) – See
window
. IfNone
, 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
. Thisz
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 (whenNone
) tonumpy.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