USER FUNCTIONS Panel
Review the article ScanImage API to learn more about automating ScanImage.
Due to the limitations of the MATLAB compiler, Compiled ScanImage is unable to guarantee the full features offered by regular ScanImage. If you're using Compiled ScanImage, please refer to the Compiled ScanImage Documentation.
Assign user-defined functions that will be called in response to acquisition events.
|Event Name||Select one of several events of interest.|
|User Function||The function to call in response to the event. Note that multiple events can be sent to the same function.|
|Arguments||A cell array with optional arguments to pass to your user function.|
|Enable||If this is checked, the user function will be called when the event is triggered.|
|Add or delete a user function. Delete operates on the currently selected row.|
|User functions can be stored in the CFG file or the USR file. Typically USR-defined user functions override those in CFG. The main table view is toggled to show either the CFG or USR set based on these buttons.|
|Saves the current set of user functions to the CFG or USR configuration.|
A user function has the format:
|source||At the moment, this is always the current instance of scanimage.SI class. Also known as hSI on the base Matlab workspace.|
|event||A string with the name of the event that triggered the user function.|
|arguments||A cell array with optional parameters. Specified in the arguments column of the User Functions table.|
function myUserFcn(src,evt,varargin) % in myUserFcn.m somewhere on the matlab path. disp(['Got Event: ' evt.EventName]); % prints the event disp(src); % prints the source object (UserFunctions) disp(src.hSI); % each source object has access to the main % ScanImage Model object disp(src.hSI.imagingSystem) % from which we can access ScanImage % methods and properties end
|Called just before the start of an Acquisition Mode such as GRAB or LOOP. This may happen before any data is acquired.|
|Called just after the last frame at the end of an Acquisition Mode such as GRAB or LOOP.|
|Called just after the first frame gets acquired from an Acquisition.|
|Called just after the last frame gets acquired from an Acquisition.|
|Called just after an acquisition is aborted. Abort usually happens because the Abort button is pressed in the Main Controls.|
|Called just after the shutter is closed after acquiring a slice during a Slow Stack acquisition.|
|Called just after the user presses the FOCUS button in the Main Controls.|
Called just after the FOCUS is aborted. Similar to acqAbort but only in FOCUS mode.
|Called just after a frame is acquired.|
|Called when the digitizer experiences an overvoltage condition during an acquisition.|
|Fires when command to perform an on demand stim is received, before the trigger is sent.|
Fires when an on demand stim completes if multiple outputs are allowed; more stims can be externally triggered.
|Fires when an on demand stim completes if multiple outputs are not allowed; no more stims will occur until next on demand command.|
|Fires when an external on demand stimulus selection occurs.|
|Fires when a sequence stimulation begins.|
|Fires when a sequence element is complete and sequence advances to the next stim.|
|Fires when a single sequence is complete.|
Fires when the last sequence is complete.
|Fires when photostimulation module aborts.|