dabs Device API

dabs is ScanImage’s hardware abstraction layer. Every piece of hardware ScanImage® knows about - a DAQ, a stage controller, a PMT, a shutter, an SLM, a camera - is a dabs resource, and every resource is registered in a single, process-wide resource store.

That uniformity is what makes ScanImage scriptable at the hardware level: once you have a handle to a resource, the same reserve / configure / act pattern applies whether it is a Thorlabs stage or a vDAQ analog output.

hRS = dabs.resources.ResourceStore();      % the singleton store

hRS.filterByName('vDAQ0')                  % one resource by name
hRS.filterByClass('dabs.resources.devices.MotorController')   % all of a kind

Note

dabs is a device layer, not a ScanImage layer. A dabs device does not know what ScanImage is doing with it, and can be driven from a plain MATLAB script with ScanImage closed - which is what makes it useful for bench work and for writing your own drivers.

See also

Devices for the list of supported hardware and how to configure it, and the vDAQ® API for scripting vDAQ tasks directly.