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.