If you followed the instructions on spatial calibration you should have a nice uniform field in Scanbox. One simple way to measure the resulting spatial resolution and spatial uniformity at each zoom setting is to mount a 40 line pairs per mm RONCHI calibration slide on top of a green aut0-fluorescent slide. By aligning the slide with the horizontal and vertical axis of the scan you can precisely measure the size of your field:
You can also superimpose them to visually judge if the spatial correction is isotropic throughout the field… which, in our setup it is rather uniform:
The dark side bands are blanked by the pockels cell and their size is controlled by deadband configuration parameter.
You’ve already heard about out plan to add an SLM path to the NLW two-photon microscope.
As we described earlier the first step is to provide a tool to align the SLM and 2P paths. This is now complete and it consists of four phases carried out automatically by a Matlab function:
- A port camera connected to the microscope images the two-photon scan area to be used in the experiment. Matlab detects the area and draws bounding rectangle around it on the screen. Given that we know the size of the area in pixels, this allows us to map a location of a cell within the scan area to the coordinate frame of the camera.
- A nine point calibration takes place next, where the SLM is used to generate points at different locations in the SLM target image plane. Those points are then imaged by the port camera. Matlab estimates their location in the plane of the camera and displays them as yellow ‘x’ markers. These data allow us to map points in the SLM image plane to the camera plane.
- Next, optimal affine transformation linking points in the SLM imaging plane to the camera plane is computed. We also compute the optimal transformation between the Scanbox image plane to the camera plane using the data in step #1.
- Finally, a validation procedure allows one to click anywhere within the scan area and check the SLM projects a point in the desired location (yellow circles).
For whatever reason video screen capture interferes with the Matlab preview of the camera, so here is an old-fashion iPhone video of how the procedure runs.
Some behavioral experiments reward correct performance. A typical response is a lick of a spout and the reward is a fixed volume of water. One simple way to achieve this is by using an Arduino board along with the capacitive sensing library. The diagram below summarizes the parts used. Just connect a 1 Mohm resistor between pins 2 and 3. Pin 2 is also connected to a metallic spout. Short pins 22, 24 and 26 and connect them to one of the solenoid pins of the valve . The micro-valve has 3 ports. The port further away from the pins must be sealed off. The middle port is connected to the spout. The port closer to the pins must be connected to the a 60 cc syringe reservoir. With the syringe filled with 30 cc of fluid at a height of 20 cm from the spout the code below delivers 2 uL of fluid per pulse.
Once downloaded, the Arduino code below accepts 1-byte commands. A command 0f 0x00 (0) simply rests the lick variable and starts monitoring for licks. A command of 0x01 (1) reads out if there had been a lick since the last reset (a single byte reply). A command of 0x02 (2) delivers a reward. Any other number is interpreted as a change in the valve pulse width, thereby changing the volume delivered each time. The only variable that may need to be adjusted is the the threshold for lick detection which is initially set at 500. The code just a skeleton… you will likely need to modify it for your own application. Credit: Nick Olivas in the Trachtenberg Lab helped designed this.
Scanbox performance is better in Windows 10.
We recommend the upgrade in general and highly if you use bidirectional scanning frequently.
To upgrade, follow these steps.
- Upgrade to Windows 10.
- Make a fresh install of the lastest nVidia driver for your board.
- Install the latest 3D connexion driver.
- Install the latest AlazarTech driver for the 9440 board.
Start Matlab and Scanbox. Give it a try… everything should work as before.