Figure 1. Schematic of the setup.
As proof of concept, we show that this system can be used to track individual zebrafish larvae in real-time (Figure 2, Video) using a green laser pointer and, further, that larval zebrafish exhibit a trend toward reduced activity when continuously exposed to a bright visible (green, ~488 nm) light from a laser pointer.Figure 2. Example video of a larval zebrafish being tracked by the green laser. Left shows IR illuminated arena. Right shows grayscaled image of the laser in the visible spectrum.
Representative activity traces are shown for experimental and control zebrafish in Figs. 3A and 3B, respectively. Although no difference was observed in the total number of swimming bouts between zebrafish larvae illuminated with a green laser pointer (n = 12) as compared to controls (n = 11) (Fig. 3C), preliminary results reveal a non-significant trend toward reductions in both distance traveled (Fig. 3D) and peak bout speed (Fig. 3E) with exposure to green light. These findings are suggestive of a freezing response in larval zebrafish upon exposure to bright visible light, although further studies are needed.
Figure 3. Results. A and B show raw data of the distance the fish travelled over time with the behavioural assay shown above the traces. C, D and E show the mean number of bouts, the mean distance travelled and the mean peak speed respectively for both experimental groups. No significant difference was found between the groups.
Critically, we show that this combined laser/video-tracking system can be used to: (1) continuously track solitary fish, (2) record positional information of fish in schools, and (3) deliver both visible and non-visible (IR) startle stimuli with high spatiotemporal precision. Among its many potential applications, this system will enable future work querying the timing and developmental trajectory of collective behavior in zebrafish.
were performed on 8 days post-fertilization (dpf) wild-type (AB strain)
All experiments were performed on freely swimming zebrafish larvae. The test consisted of two 3-minute periods: a “habituation” phase and a “light on/off” phase. During the habituation phase, both control and experimental larvae were allowed to habituate to a novel, dark chamber. During the light on/off phase, experimental fish were continuously illuminated with a green (~488 nm) laser pointer, while control fish were allowed to continue swimming in the absence of illumination.
All data were analyzed using Python. Data were first normalized for baseline activity level of individual fish (as ascertained during the habituation period). Results for total number of bouts, distance traveled, and peak bout speed are based on mean normalized values compared across groups during phase 2 of the assay.
Automated Laser/Video-Tracking System
System components included: infrared laser (1.2 W, 808 nm, Picotronic), galvo mirror system (Thorlabs), and DAQ card (National Instruments). We used Bonsai (Lopes et al., 2014) for automated tracking and control of laser stimuli delivery.
Reconciling Tracking Output with Galvo Input
The position of the fish was ascertained, and the position (in pixels) was returned by Bonsai. The scanning galvos take a pair of input voltages (ranging from -10V to 10V) and move the laser to a given X,Y position. In order to convert position in pixels to galvo voltage, a calibration step is necessary. This is accomplished by scanning the laser across the viewing field of the camera and measuring both the voltages sent to the galvos and the resulting positional output. The result is a file of X and Y positions and X and Y voltages. To link these, the "griddata" function from scipy is used. This function allows interpolation of a given dependent variable (e.g. X voltage) across set of bivariate independent variables (X and Y voltage). The process is then repeated for Y voltage, and an image is generated in which the grayscale value (or, alternatively, color-channel value) corresponds to the X/Y voltage required to send the galvos to a desired pixel location (Fig. 3). As some of the image may be outside of the calibrated area, it is good practice to hard-code a "safe location" where your beam-dump is located.Figure 4. Example of a lookup table that was used to convert camera frame coordinates into galvo control voltages.
The Galvo voltages (between -10 V and 10 V) were mapped to the field of view of the camera which is used to track the fish. The name of the script is called Mapping.bonsai and it returns a list of 4 columns [xVoltage yVoltage xCoordinate yCoordinate]. The mapping.py script (Python) is then used to write a TIFF file for both X and Y mapping (e.g X.tif and Y.tif). The pixel values in each of the files are the corresponding galvo-voltages that will direct the beam towards the coordinate in the cameras field of view. Because images (.tif) can’t contain floats, we added 10 to the voltages and then multiplied them by 100. This then had to be reversed in the Bonsai file that was used during experiments.