Acquisition#
- class Acquisition(acqName)#
Bases:
handle,matlab.mixin.SetGetExactNamesAcquisitionbase class for camera acquisition/control.Provides common camera identity and configuration, connection helpers, and utilities for setting callbacks, starting/stopping acquisition, and post-processing images (e.g., bad-pixel removal). Concrete subclasses (
Andor,Basler,Pco, etc.) apply vendor-specific details.Configuration loading: Constructor reads camera via
AcquisitionSettingand applies matches by property name.Quantum efficiency:
QuantumEfficiency()interpolates provided data (if any) to a requested wavelength.Pixel size in object plane: \(\mathrm{PixelSizeReal} = \dfrac{\mathrm{PixelSize}}{\mathrm{Magnification}}\).
Example:
acq = Basler("MainCam"); acq.connectCamera(); acq.setCameraParameter(); % or model-specific helper acq.setCallback(@(data,evt) disp(size(data))); acq.startCamera(); pause(1); acq.stopCamera();
- Constructor Summary
- Acquisition(acqName)#
Construct an
Acquisitionand load camera config.- Parameters:
acqName (
string) – Camera name key used in configuration
Loads configuration via
AcquisitionSettingand applies matching fields to properties.
- Property Summary
- AdaptorName string#
MATLAB adaptor name used to connect
- BadColumn uint32#
Column indices with bad pixels
- BadRow uint32#
Row indices with bad pixels
- BitsPerSample int16#
Bits per pixel (e.g., 8/16/32)
- CameraModel string#
Camera model identifier
- CameraType string#
Camera vendor/type
- ConfigFun function_handle#
Function handle to set camera parameters
- DeviceID int32#
Device ID if multiple devices share the adaptor
- ExposureTime double#
Exposure time [s]
- ImageFormat string = "tif"#
Image format (e.g., ‘tif’)
- ImageGroupSize int32#
Number of frames before saving
- ImagePath {mustBeFolder} = "."#
Save folder
- ImagePrefix string = "run"#
Image filename prefix
- ImageSize uint32#
[size y, size x] in pixels
- IsExternalTriggered logical#
Whether camera is externally triggered
- Magnification double#
Optical magnification (unitless)
- Name string#
Nickname/label of the acquisition
- PixelSize double#
Pixel size [m]
- PixelSizeReal#
Pixel size in object plane [m]
- QuantumEfficiencyData double = []#
[wavelength (m), quantum efficiency]
- SerialNumber int32#
Camera serial number
- Transmission double = 1#
Optical transmission (0-1)
- VideoInput#
videoinput handle
- Method Summary
- QuantumEfficiency(lambda)#
Interpolate quantum efficiency at wavelength \(\lambda\) [m].
- Parameters:
lambda (
double) – Wavelength [m]- Returns:
Quantum efficiency (0-1)
- Return type:
double
- connectCamera()#
Connect to the camera and create
VideoInput.- Raises:
error– When adaptor connection fails
- killBadPixel(imageData)#
Replace bad pixel rows/columns by neighbor averages.
- Parameters:
imageData (
numeric array) – Image data array- Returns:
Corrected image data
- Return type:
numeric array
- pauseCamera()#
Pause camera recording.
- setCallback(callbackFunc)#
Register callback called when enough images are taken.
- Parameters:
callbackFunc (
function_handle) – Function handle accepting (data, event)
- setCameraParameter()#
Set camera parameters via
ConfigFun.- Raises:
error– If camera is not connected
- setConfigProperty(struct)#
Compare
objproperties with fields ofstructand set matches.Requires
matlab.mixin.SetGetExactNamesto set only exact-name matches.
- startCamera()#
Start camera recording.
- Raises:
error– If camera is not connected
- stopCamera()#
Stop camera and delete
VideoInput.