Hardware Requirements
- Minimum requirement is Thorlabs Multiphoton Essentials Kit (either MPM-SCAN or MPM-2PKIT) specified as ScanImage Compatible (very important!). Such a system will include a suitable ScanImage 4.x Workstation.
- Thorlabs system also includes 1 Alazar ATS-9440 high-speed digitizer board and 1 National Instruments (NI) PCIe-6321 board
- ScanImage 4.2 requires at minimum one additional NI X Series board - typically another PCIe-6321, i.e. for total of 2 NI boards.
- If ScanImage 4.2 will control both a Pockels cell (for laser power control, flyback blanking) and a piezo controller (i.e. for volume imaging), then another X Series board is required - typically another PCIe-6321, i.e. for total of 3 NI boards.
- NI board used by Thorlabs should be named 'Dev1' in the Measurement and Automation Explorer (MAX).
- NI board(s) used by ScanImage can be named as desired.
A good practice is to name the board(s) 'si4' and (if applicable) 'si4-2'
Wiring Instructions
- Use this wiring diagram
- Connection of Self Trig Source to Self Trig Destination Terminal (on all SI4 NI boards) is required
- Connection of Frame Trig Out from Thor ECU to Frame Clock Terminal connection (on all SI4 NI boards) is required
- Shutter, Pockels, Piezo, and External Start Trig connections are all optional
- Connection of Line Trig In to Line Clock Terminal required only to board controlling Pockels (if using Pockels)
Software Installation
ScanImage Installation
- Create a ScanImage folder at desired path location (suggestions: C:\Program Files\ScanImage or C:\My Documents\Matlab\ScanImage). Location is hereafter referred to as <ScanImage>.
- Extract ZIP file into selected folder, adjusting name as desired to fully describe version. This creates a version folder <ScanImage>\<Version Name>
- Launch Matlab and select Set Path... from the File menu
- Press the button Add with Subfolders... and, when prompted, select the directory <ScanImage>\<Version Name>. This adds the ScanImage installation contents to the top of Matlab search path.
Configuration Folder Setup
ScanImage 4 requires a root folder for its configuration files, including 3 required Thorlabs configuration files. User can select this folder, hereafter referred to as <Config Root>.
- Copy 2 XML files, ThorPMTSettings.xml & ThorConfocalSettings.xml , from <ScanImage>\<Version Name>\+dabs\+thorlabs\private\ThorAPI_1_5 to <Config Root>
- Copy AlignData.txt file from C:\Program Files\ThorImage to <Config Root>
Recommended location for <Config Root> is a folder named CONFIG at root of the user's Data directory. This is a good way to ensure that configuration data is backed up whenever Data directory is (hopefully!) backed up
Using ECU2
For newer systems using the Thorlabs ECU 2 unit, one additional step is required:
- Copy 3 files (ThorPMT.dll, ThorPMT_proto.m, ThorPMT_thunk_pcwin64.dll) from <ScanImage>\<Version Name>\+dabs\+thorlabs\private\ThorAPI_1_5\ECU2\x64 to <ScanImage>\<Version Name>\+dabs\+thorlabs\private\ThorAPI_1_5\x64.
Starting ScanImage
- Start ScanImage by typing scanimage4. You will be prompted to create or identify a Machine Data File. See next section for discussion.
Machine Data File Configuration
On first startup of ScanImage 4.x, you will be prompted to create or select a Machine Data File (MDF). Choose to create one, selecting desired folder location, e.g. 'C:\DATA\CONFIG\SCANIMAGE'.
This will open a Matlab M file in the Matlab editor containing several assignment statements. Each of the statements includes comments which describe what needs to be set.
File is divided into sections (Matlab 'cells') delimited by comment lines with 2 percent signs, e.g. '%%ScanImage'. Each of these is described in following sections.
After done editing file, save and then restart Matlab. The MDF is read only on Matlab startup. Any subsequent changes to the MDF require a Matlab restart.
%%ScanImage Section
Sections below **OPTIONAL*** pertain to optional hardware, e.g. motor, Pockels, shutter, piezo, etc.
Key things to set:
primaryDeviceID | Specifies NI device name for primary ScanImage NI board, e.g. 'si4'. All counter channels (0-3) are utilized by ScanImage 4.2 on this board. |
extFrameClockTerminal | Specifies PFI terminal (e.g. 0 for PFI0) on which Frame Clock from Thor ECU is connected to all SI 4.2 NI boards. |
trigSelfTrigSourceDeviceID | Specifies NI device name (e.g. 'si4') for board on which ScanImage self-trigger signal is generated. |
trigSelfTrigSourceLineID | Specifies digital output line on Port 0 (e.g. 0 for P0.0) on which ScanImage self-trigger signal is generated. |
trigSelfTrigDestinationTerminal | Specifies PFI terminal (e.g. 2 for PFI2) on which all SI 4. NI boards should be connected to the ScanImage self-trigger signal source line. |
%%Thorlabs Devices Section
apiCurrentVersion: Set to '1.5'. This is only valid option supported by ScanImage 4.2.
Other Configuration
- After selecting the Machine Data File on startup, you will be prompted for a USR ('user') file. On first startup, hit Cancel.
- After starting ScanImage successfully, you should soon thereafter arrange windows as you prefer them and then save a USR file via the File >> Save User Settings As... menu item. On subsequent ScanImage startups, select this USR file. Several ScanImage settings, in addition to the window locations, are saved with the USR file. You can always save the USR file (File >> Save User Settings...) to update it for future ScanImage startup.