Skip to end of metadata
Go to start of metadata
Contents

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.

 

Icon

Save the Machine Data File in a folder named CONFIG at the root of your data directory. This is a good way to ensure that configuration data is backed up whenever the data directory is (hopefully!) backed up.

Icon

If you change this file after starting ScanImage, you'll need to restart Matlab for the changes to take effect.

Icon

This file is automatically generated for you when ScanImage is started for the first time.

Sections


SectionDescription
ScanImageGeneral ScanImage behavior (for example, simulated mode).
ResonantAcqThe FlexRIO Digitizer Module
ResScanCtrlThe system's Scan Control DAQ.
ShuttersShutter(s) used to prevent any beam exposure from reaching specimen during idle periods.
BeamsBeam control and calibration channels. Typically used to control Pockels cells.
MotorsMotor used for X/Y/Z motion, including stacks. 
FastZFastZ hardware used for fast axial motion, supporting fast stacks and/or volume imaging.
Icon

Section headings in the Machine Data File are significant. They indicate to ScanImage the relevant subsystem to configure. Sections headings are denoted using the MATLAB code-section syntax:

Parameters

ScanImage


ParameterDescription
simulatedBoolean for activating simulated mode. For normal operation, set to 'false'. For operation without NI hardware attached, set to 'true'.
nominalResScanFreqnominal frequency of the resonant scanner, in Hz
primaryPxiChassisNumNumeric ID of the PXI chassis that contains the FlexRIO FPGA and Digitizer module. 
scannerHardwareTypeOne of {'standard' 'ecu1' 'bscope2'}; Used to enable native Thorlabs ECU and BScope 2 support. More details can be found at the following page.
digitalIODeviceNameSpecify 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


ParameterDescription
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


ParameterDescription

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.

chanCtrMeasResPeriodcounter channel for measuring the resonant scanner period
galvoVoltsPerOpticalDegreegalvo conversion factor from optical degrees to volts
rScanVoltsPerOpticalDegreeresonant scanner conversion factor from optical degrees to volts
refAngularRangeoptical degrees for resonant scanner and galvo at zoom level = 1           
Example

Shutters


ParameterDescription
shutterOpenLevelLogical 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
shutterOpenTimeTime, in seconds, to delay following certain shutter open commands (e.g. between stack slices), allowing shutter to fully open before proceeding.
Example

Beams

 


ParametersDescription
beamModifiedLineClockInan empty string ("") or one of PFI0..15 to which external beam trigger is connected. Leave empty if DAQ device is in main PXI chassis.
beamDeviceNameString or cell string array of device name(s) containing beam modulation channels. If single string, applies to all channels in beamChanIDs.
beamChanIDsArray of integers specifying AO channel IDs, one for each beam modulation channel. Length of array determines number of 'beams'.
beamIDsOptional string cell array of identifiers for each beam
beamVoltageRangesScalar or array of values specifying voltage range to use for each beam. Scalar applies to each beam.
beamCalInputDeviceNamesString 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
beamCalInputChanIDsArray of integers specifying AI channel IDs, one for each beam modulation channel. Values of nan specify no calibration for particular beam.
beamCalOffsetsArray of beam calibration offset voltages for each beam calibration channel
shutterBeforeEOMLogical or 0/1 indicating if shutter is before EOM. Single value, applying to all shutterLineIDs. (moved to beams class definition.
Example

Motors


ParametersDescription
motorDimensionsIf supplied, one of {'XYZ', 'XY', 'Z'}. Defaults to 'XYZ'.
motorControllerTypeIf supplied, one of  {'thorlabs.bscope', 'sutter.mp285', 'sutter.mpc200', 'scientifica', 'pi.e665', 'pi.e816'}
motorStageTypeSome controller require a valid stageType be specified
motorCOMPortInteger identifying COM port for controller, if using serial communication
motorBaudRateValue identifying baud rate of serial communication. If empty, default value for controller used.
motorZDepthPositiveLogical indicating if larger Z values correspond to greater depth
motorPositionDeviceUnits1x3 array specifying, in meters, raw units in which motor controller reports position. If unspecified, default positionDeviceUnits for stage/controller type presumed.
motorVelocitySlowVelocity to use for moves smaller than motorFastMotionThreshold value. If unspecified, default value used for controller. Specified in units appropriate to controller type.
motorVelocityFastVelocity to use for moves larger than motorFastMotionThreshold value. If unspecified, default value used for controller. Specified in units appropriate to controller type.
motor2ControllerTypeIf supplied, one of {'thorlabs.bscope', 'sutter.mp285', 'sutter.mpc200', 'scientifica', 'pi.e665', 'pi.e816'}
motor2StageTypeSome controller require a valid stageType be specified
motor2COMPortInteger identifying COM port for controller, if using serial communication
motor2BaudRateValue identifying baud rate of serial communication. If empty, default value for controller used.
motor2ZDepthPositiveLogical indicating if larger Z values correspond to greater depth
motor2PositionDeviceUnits1x3 array specifying, in meters, raw units in which motor controller reports position. If unspecified, default positionDeviceUnits for stage/controller type presumed.
motor2VelocitySlowVelocity to use for moves smaller than motorFastMotionThreshold value. If unspecified, default value used for controller. Specified in units appropriate to controller type.
motor2VelocityFastVelocity 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


ParametersDescription
frameClockInan 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.
fastZControllerTypeIf supplied, one of {'useMotor2', 'pi.e665', 'pi.e816'}. 
fastZCOMPortInteger identifying COM port for controller, if using serial communication
fastZBaudRateValue identifying baud rate of serial communication. If empty, default value for controller used.
fastZAODeviceNameString specifying device name containing AO channel used for FastZ control
fastZAOChanIDScalar integer indicating AO channel used for FastZ control
fastZAIDeviceNameString specifying device name containig AI channel used for FastZ position sensor
fastZAIChanIDScalar integer indicating AI channel used for FastZ sensor
Example