Description
This is a MATLAB .m file that contains parameters that describe the hardware configuration of your microscope. These parameters are expected to rarely change.
It is only read when ScanImage starts; any change during an experiment requires a Matlab restart.
It is required for ScanImage to start. If the file is missing, you'll be asked to configure or locate one. For a fresh installation, choose to create a new file. A new file will be opened in the Matlab editor, and parameters will be added with default values for you to customize. Be sure to save the file when finished.
Sections
Section | Description |
---|---|
ScanImage | General ScanImage behavior (for example, simulated mode). |
ResonantAcq | The FlexRIO Digitizer Module |
ResScanCtrl | The system's Scan Control DAQ. |
Shutters | Shutter(s) used to prevent any beam exposure from reaching specimen during idle periods. |
Beams | Beam control and calibration channels. Typically used to control Pockels cells. |
Motors | Motor used for X/Y/Z motion, including stacks. |
FastZ | FastZ hardware used for fast axial motion, supporting fast stacks and/or volume imaging. |
Parameters
ScanImage
Parameter | Description |
---|---|
simulated | Boolean for activating simulated mode. For normal operation, set to 'false'. For operation without NI hardware attached, set to 'true'. |
nominalResScanFreq | nominal frequency of the resonant scanner, in Hz |
primaryPxiChassisNum | Numeric ID of the PXI chassis that contains the FlexRIO FPGA and Digitizer module. |
scannerHardwareType | One of {'standard' 'ecu1' 'bscope2'}; Used to enable native Thorlabs ECU and BScope 2 support. More details can be found at the following page. |
digitalIODeviceName | Specify the name of the DAQ board that is used for trigger inputs/outputs. This device must be installed in the same PXI chassis as the FlexRIO Digitizer. |
Example
ResonantAcq
Parameter | Description |
---|---|
pathToBitfile | Name of bitfile to load onto FPGA |
rioDeviceName | FlexRIO Device ID as specified in MAX. If empty, defaults to 'RIO0' |
channelsInvert | specifies if the input signal is inverted (i.e., more negative for increased light signal) |
Example
ResScanCtrl
Parameter | Description |
---|---|
scanCtrlDeviceName | String identifying the NI-DAQ board to be used to control the resonant/galvo scanner. The name of the device can be seen in NI MAX. |
resonantZoomAOChanID | An integer. The numeric ID of the Analog Output channel to be used to control the Resonant Scanner Zoom level. |
galvoAOChanID | An integer. The numeric ID of the Analog Output channel to be used to control the Galvo. |
chanCtrMeasResPeriod | counter channel for measuring the resonant scanner period |
galvoVoltsPerOpticalDegree | galvo conversion factor from optical degrees to volts |
rScanVoltsPerOpticalDegree | resonant scanner conversion factor from optical degrees to volts |
refAngularRange | optical degrees for resonant scanner and galvo at zoom level = 1 |
Example
Shutters
Parameter | Description |
---|---|
shutterOpenLevel | Logical or 0/1 scalar/array indicating TTL level (0=LO;1=HI) corresponding to shutter open state for each shutter line. If scalar, value applies to all shutterLineIDs |
shutterOpenTime | Time, in seconds, to delay following certain shutter open commands (e.g. between stack slices), allowing shutter to fully open before proceeding. |
Example
Beams
Parameters | Description |
---|---|
beamModifiedLineClockIn | an empty string ("") or one of PFI0..15 to which external beam trigger is connected. Leave empty if DAQ device is in main PXI chassis. |
beamDeviceName | String or cell string array of device name(s) containing beam modulation channels. If single string, applies to all channels in beamChanIDs. |
beamChanIDs | Array of integers specifying AO channel IDs, one for each beam modulation channel. Length of array determines number of 'beams'. |
beamIDs | Optional string cell array of identifiers for each beam |
beamVoltageRanges | Scalar or array of values specifying voltage range to use for each beam. Scalar applies to each beam. |
beamCalInputDeviceNames | String or cell string array of device name(s) containing beam calibration channels. If single string, applies to all beamCalInputChanIDs. TO BE REMOVED IN FUTURE RELEASES |
beamCalInputChanIDs | Array of integers specifying AI channel IDs, one for each beam modulation channel. Values of nan specify no calibration for particular beam. |
beamCalOffsets | Array of beam calibration offset voltages for each beam calibration channel |
shutterBeforeEOM | Logical or 0/1 indicating if shutter is before EOM. Single value, applying to all shutterLineIDs. (moved to beams class definition. |
Example
Motors
Parameters | Description |
---|---|
motorDimensions | If supplied, one of {'XYZ', 'XY', 'Z'}. Defaults to 'XYZ'. |
motorControllerType | If supplied, one of {'thorlabs.bscope', 'sutter.mp285', 'sutter.mpc200', 'scientifica', 'pi.e665', 'pi.e816'} |
motorStageType | Some controller require a valid stageType be specified |
motorCOMPort | Integer identifying COM port for controller, if using serial communication |
motorBaudRate | Value identifying baud rate of serial communication. If empty, default value for controller used. |
motorZDepthPositive | Logical indicating if larger Z values correspond to greater depth |
motorPositionDeviceUnits | 1x3 array specifying, in meters, raw units in which motor controller reports position. If unspecified, default positionDeviceUnits for stage/controller type presumed. |
motorVelocitySlow | Velocity to use for moves smaller than motorFastMotionThreshold value. If unspecified, default value used for controller. Specified in units appropriate to controller type. |
motorVelocityFast | Velocity to use for moves larger than motorFastMotionThreshold value. If unspecified, default value used for controller. Specified in units appropriate to controller type. |
motor2ControllerType | If supplied, one of {'thorlabs.bscope', 'sutter.mp285', 'sutter.mpc200', 'scientifica', 'pi.e665', 'pi.e816'} |
motor2StageType | Some controller require a valid stageType be specified |
motor2COMPort | Integer identifying COM port for controller, if using serial communication |
motor2BaudRate | Value identifying baud rate of serial communication. If empty, default value for controller used. |
motor2ZDepthPositive | Logical indicating if larger Z values correspond to greater depth |
motor2PositionDeviceUnits | 1x3 array specifying, in meters, raw units in which motor controller reports position. If unspecified, default positionDeviceUnits for stage/controller type presumed. |
motor2VelocitySlow | Velocity to use for moves smaller than motorFastMotionThreshold value. If unspecified, default value used for controller. Specified in units appropriate to controller type. |
motor2VelocityFast | Velocity to use for moves larger than motorFastMotionThreshold value. If unspecified, default value used for controller. Specified in units appropriate to controller type. |
Example
Fast Z
Parameters | Description |
---|---|
frameClockIn | an empty string ("") or one of PFI0..15 to which external beam trigger is connected. Leave empty if the DAQ device is in the main PXI chassis. |
fastZControllerType | If supplied, one of {'useMotor2', 'pi.e665', 'pi.e816'}. |
fastZCOMPort | Integer identifying COM port for controller, if using serial communication |
fastZBaudRate | Value identifying baud rate of serial communication. If empty, default value for controller used. |
fastZAODeviceName | String specifying device name containing AO channel used for FastZ control |
fastZAOChanID | Scalar integer indicating AO channel used for FastZ control |
fastZAIDeviceName | String specifying device name containig AI channel used for FastZ position sensor |
fastZAIChanID | Scalar integer indicating AI channel used for FastZ sensor |